lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090917141913.47f9451b@lxorguk.ukuu.org.uk>
Date:	Thu, 17 Sep 2009 14:19:13 +0100
From:	Alan Cox <alan@...rguk.ukuu.org.uk>
To:	Alan Cox <alan@...rguk.ukuu.org.uk>
Cc:	Jason Wessel <jason.wessel@...driver.com>,
	Alan Stern <stern@...land.harvard.edu>, gregkh@...e.de,
	linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] usb console,usb-serial: pass initial console baud
 on to first tty open

On Thu, 17 Sep 2009 14:08:28 +0100
Alan Cox <alan@...rguk.ukuu.org.uk> wrote:

> 
> > -			memset(&dummy, 0, sizeof(struct ktermios));
> > -			tty->termios = termios;
> > +			tty->termios = &usb_serial_tty_driver->init_termios;
> 
> That will corrupt the master one which is a reference used for many ports.
> 
> 
> You need the serial_install stuff or something similar resurrecting to do
> this properly.

Here's a suggestion on how to do it.

Add a tty->ops->init_termios()

Make tty_init_termios() read

       if (tp == NULL) {
                tp = kzalloc(sizeof(struct ktermios[2]), GFP_KERNEL);
                if (tp == NULL)
                        return -ENOMEM;
                memcpy(tp, &tty->driver->init_termios,
                                                sizeof(struct ktermios));
		if (tty->ops->init_termios)
			tty->ops->init_termios(tty);
                tty->driver->termios[idx] = tp;
        }

Thats a good deal cleaner than the ->install override in the USB patches
Greg inherited and will be usable for cleaning up USB stuff too.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ