patch "tty: fix compat TIOCGSERIAL leaking uninitialized memory" added to tty-linus
Subsystems (2)
This is a note to let you know that I've just added the patch titled
tty: fix compat TIOCGSERIAL leaking uninitialized memory
to my tty git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
in the tty-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From 17329563a97df3ba474eca5037c1336e46e14ff8 Mon Sep 17 00:00:00 2001
From: Eric Biggers <[email protected]>
Date: Mon, 24 Feb 2020 10:20:43 -0800
Subject: tty: fix compat TIOCGSERIAL leaking uninitialized memory
Commit 77654350306a ("take compat TIOC[SG]SERIAL treatment into tty_compat_ioctl()") changed the compat version of TIOCGSERIAL to start copying a whole 'serial_struct32' to userspace rather than individual fields, but failed to initialize all padding and fields -- namely the hole after the 'iomem_reg_shift' field, and the 'reserved' field.
Fix this by initializing the struct to zero.
[v2: use sizeof, and convert the adjacent line for consistency.]
--- drivers/tty/tty_io.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/tty/tty_io.c +3 -1
@@ -2730,7 +2730,9 @@ static int compat_tty_tiocgserial(struct tty_struct *tty,struct serial_struct32 v32;struct serial_struct v;int err; -memset (&v,0 ,sizeof (struct serial_struct )); + +memset (&v,0 ,sizeof (v)); +memset (&v32,0 ,sizeof (v32));if (!tty->ops->set_serial)return -ENOTTY ;
Signature · 1 line
2.25.1