mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
kill TIOCSERGSTRUCT
Once upon a time a bunch of serial drivers used to provide that; today it's only amiserial and it's FUBAR - the structure being copied to userland includes kernel pointers, fields with config-dependent size, etc. No userland code using it could possibly survive - e.g. enabling lockdep definitely changes the layout. Besides, it's a massive infoleak. Kill it. If somebody needs that data for debugging purposes, they can bloody well expose it saner ways. Assuming anyone does debugging of amiserial in the first place, that is. Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
parent
f0193d3ea7
commit
ce5a983191
3 changed files with 2 additions and 14 deletions
|
|
@ -1215,7 +1215,7 @@ static int rs_ioctl(struct tty_struct *tty,
|
|||
if (serial_paranoia_check(info, tty->name, "rs_ioctl"))
|
||||
return -ENODEV;
|
||||
|
||||
if ((cmd != TIOCSERCONFIG) && (cmd != TIOCSERGSTRUCT) &&
|
||||
if ((cmd != TIOCSERCONFIG) &&
|
||||
(cmd != TIOCMIWAIT) && (cmd != TIOCGICOUNT)) {
|
||||
if (tty_io_error(tty))
|
||||
return -EIO;
|
||||
|
|
@ -1228,12 +1228,6 @@ static int rs_ioctl(struct tty_struct *tty,
|
|||
case TIOCSERGETLSR: /* Get line status register */
|
||||
return get_lsr_info(info, argp);
|
||||
|
||||
case TIOCSERGSTRUCT:
|
||||
if (copy_to_user(argp,
|
||||
info, sizeof(struct serial_state)))
|
||||
return -EFAULT;
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* Wait for any of the 4 modem inputs (DCD,RI,DSR,CTS) to change
|
||||
* - mask passed in arg for lines of interest
|
||||
|
|
|
|||
Loading…
Reference in a new issue