mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 22:52:35 +02:00
USB: serial/mos*: prevent reading uninitialized stack memory
commit a0846f1868 upstream.
The TIOCGICOUNT device ioctl in both mos7720.c and mos7840.c allows
unprivileged users to read uninitialized stack memory, because the
"reserved" member of the serial_icounter_struct struct declared on the
stack is not altered or zeroed before being copied back to the user.
This patch takes care of it.
Signed-off-by: Dan Rosenberg <dan.j.rosenberg@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
eaa1ace05a
commit
f2ba1916d3
|
|
@ -1466,6 +1466,9 @@ static int mos7720_ioctl(struct tty_struct *tty, struct file *file,
|
|||
|
||||
case TIOCGICOUNT:
|
||||
cnow = mos7720_port->icount;
|
||||
|
||||
memset(&icount, 0, sizeof(struct serial_icounter_struct));
|
||||
|
||||
icount.cts = cnow.cts;
|
||||
icount.dsr = cnow.dsr;
|
||||
icount.rng = cnow.rng;
|
||||
|
|
|
|||
|
|
@ -2287,6 +2287,9 @@ static int mos7840_ioctl(struct tty_struct *tty, struct file *file,
|
|||
case TIOCGICOUNT:
|
||||
cnow = mos7840_port->icount;
|
||||
smp_rmb();
|
||||
|
||||
memset(&icount, 0, sizeof(struct serial_icounter_struct));
|
||||
|
||||
icount.cts = cnow.cts;
|
||||
icount.dsr = cnow.dsr;
|
||||
icount.rng = cnow.rng;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user