[PATCH] Linux: Define struct termios2 in <termios.h> under _GNU_SOURCE [BZ #10339]
H. Peter Anvin
hpa at zytor.com
Thu Apr 18 08:06:45 AEST 2019
On 4/16/19 2:59 AM, Florian Weimer wrote:
> * hpa:
>
>> Using symbol versioning doesn't really help much since the real
>> problem is that struct termios can be passed around in userspace, and
>> the interfaces between user space libraries don't have any
>> versioning. However, my POC code deals with that too by only seeing
>> BOTHER when necessary, so if the structure is extended garbage in the
>> extra fields will be ignored unless new baud rates are in use.
>
> That still doesn't solve the problem of changing struct offsets after a
> struct field of type struct termios.
>
>> Exporting termios2 to user space feels a bit odd at this stage as it
>> would only be usable as a fallback on old glibc. Call it
>> kernel_termios2 at least.
>
> I'm not sure why we should do that? The kernel calls it struct termios2
> in its UAPI headers. If that name is not appropriate, it should be
> changed first in the UAPI headers.
>
It should; I believe the namespace we ought to use is struct
__kernel_termios[2].
"struct termios" defined in these headers is obviously completely wrong
for userspace.
-hpa
More information about the Linuxppc-dev
mailing list