On 10/17/2014, 02:44 PM, Peter Hurley wrote: > Hi Jiri, > > On 10/17/2014 04:46 AM, Jiri Slaby wrote: >> On 10/16/2014, 10:54 PM, Peter Hurley wrote: >>> Note the serial_struct flags for which the kernel ignores and performs >>> no action. The flags cannot be removed since they form part of the >>> userspace interface via the TIOCSSERIAL/TIOCGSERIAL ioctls. >> >> Hello, >> >> would it make sense to mark them deprecated somehow? At build time > > A build warning when the macro is expanded would be best, but my > c-preprocessor-fu is terrible, so I have no idea how to make that work. We can define a deprecated type like: typedef __u32 __attribute__((deprecated)) depr_tty_t and then do define: #define ASYNCB_FLAG_1 (depr_tty_t)1 #define ASYNCB_FLAG_2 (depr_tty_t)2 Etc. However, I do not know if it is desirable AND whether all compilers out there used in userspace support that attribute. >> or >> at least warn in the serial core that "current->comm is using a >> deprecated flag"_ratelimited()? > > If we just print the message at TIOCSSERIAL if any of the deprecated > bits are set, that would be ok. Probably the only issue would be that > setserial could cause this message at will, so log flooding would be > a concern. That's why _ratelimited(). So something like the patch attached. But it needs to be put to a separate function, out of the line. /me currently builds a kernel to see who, if anybody, uses the flags on a up-to-date system... thanks, -- js suse labs
Attachment:
0001-tty-warn-on-deprecated-flags.patch
Description: application/mbox