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

From: Russell King
Date: Thu Feb 02 2006 - 05:25:27 EST


Ping?

On Sat, Jan 21, 2006 at 06:57:12PM +0000, Russell King wrote:
> 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 majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/