Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21886725 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

USB: f81232: fix device initialisation at open



Do not use uninitialised termios data to determine when to configure the
device at open.

This also prevents stack data from leaking to userspace.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 317ddd25
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -165,10 +165,11 @@ static void f81232_set_termios(struct tty_struct *tty,
	/* FIXME - Stubbed out for now */

	/* Don't change anything if nothing has changed */
	if (!tty_termios_hw_change(&tty->termios, old_termios))
	if (old_termios && !tty_termios_hw_change(&tty->termios, old_termios))
		return;

	/* Do the real work here... */
	if (old_termios)
		tty_termios_copy_hw(&tty->termios, old_termios);
}

@@ -187,12 +188,11 @@ static int f81232_tiocmset(struct tty_struct *tty,

static int f81232_open(struct tty_struct *tty, struct usb_serial_port *port)
{
	struct ktermios tmp_termios;
	int result;

	/* Setup termios */
	if (tty)
		f81232_set_termios(tty, port, &tmp_termios);
		f81232_set_termios(tty, port, NULL);

	result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL);
	if (result) {