[BUG] sizeof(struct async_icount) exported to userspace on SH, SH64 and xtensa

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've just been looking through the remaining cruft in the serial
drivers, and have come across this silly thing:

TIOCGICOUNT exports a structure to userspace called
struct serial_icounter_struct.

However, sh, sh64 and xtensa do this:

include/asm-sh/ioctls.h:#define TIOCGICOUNT     _IOR('T', 93, struct async_icount) /* 0x545D */ /* read serial port inline interrupt counts */
include/asm-sh64/ioctls.h:#define TIOCGICOUNT   0x802c545d      /* _IOR('T', 93, struct async_icount) 0x545D */ /* read serial port inline interrupt counts */
include/asm-xtensa/ioctls.h:#define TIOCGICOUNT _IOR('T', 93, struct async_icount) /* read serial port inline interrupt counts */

What's more is that no driver actually exports async_icount, and
async_icount is a kernel internal structure which does _not_ form
part of the public API, and modifications to this will result in
unexpected breakage on these platforms.

100% for trying to clean up the tty ioctl definitions.  0% for
using the wrong structures.  As such, these _require_ fixing.

Please document that your TIOCGICOUNT is broken and remove the
dependence on the async_icount structure.  Thanks.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux