On Tue, Mar 26, 2013 at 10:49:55AM +0800, Ming Lei wrote: > Johan's 'fix use-after-free in TIOCMIWAIT' patchset[1] introduces > one bug which can cause kernel hang when opening port. > > This patch initialized the 'port->delta_msr_wait' waitqueue head > to fix the bug which is introduced in 3.9-rc4. > > [1], http://marc.info/?l=linux-usb&m=136368139627876&w=2 > > Cc: stable <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx> > --- > Cc stable since the previous patchset is marked as stable. Ouch, the initialisation is indeed missing in the final fixes-series (which introduced the port waitqueue). Acked-by: Johan Hovold <jhovold@xxxxxxxxx> > drivers/usb/serial/usb-serial.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c > index 2e70efa..5d9b178 100644 > --- a/drivers/usb/serial/usb-serial.c > +++ b/drivers/usb/serial/usb-serial.c > @@ -903,6 +903,7 @@ static int usb_serial_probe(struct usb_interface *interface, > port->port.ops = &serial_port_ops; > port->serial = serial; > spin_lock_init(&port->lock); > + init_waitqueue_head(&port->delta_msr_wait); > /* Keep this for private driver use for the moment but > should probably go away */ > INIT_WORK(&port->work, usb_serial_port_work); -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html