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 <[email protected]>
> Signed-off-by: Ming Lei <[email protected]>
> ---
> 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 <[email protected]>

>  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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to