On Sat, Nov 10, 2012 at 10:13 AM, Bjørn Mork <bjorn@xxxxxxx> wrote: > Commit f79b2d0f (USB: keyspan: fix NULL-pointer dereferences and > memory leaks) had a small typo which made the driver use wrong > offsets when mapping serial port private data. This results in > in a GPF when the port is opened. > > Reported-by: Richard <richjunk@xxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> > Cc: Johan Hovold <jhovold@xxxxxxxxx> > Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Acked-by: Johan Hovold <jhovold@xxxxxxxxx> > --- > Hello Richard, > > I wonder if you are able to test and verify this? I do not guarantee > that there aren't other issues around, but this small typo looked like > an obvious killer... Good catch, Bjørn. Greg, this one needs to be backported to v3.6.x. Note that the usb_get_serial_data call below was simply redundant, so that part is really a clean up rather than part of the fix. Thanks, Johan > Bjørn > > drivers/usb/serial/keyspan.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c > index 7179b0c..cff8dd5 100644 > --- a/drivers/usb/serial/keyspan.c > +++ b/drivers/usb/serial/keyspan.c > @@ -2430,7 +2430,7 @@ static void keyspan_release(struct usb_serial *serial) > static int keyspan_port_probe(struct usb_serial_port *port) > { > struct usb_serial *serial = port->serial; > - struct keyspan_port_private *s_priv; > + struct keyspan_serial_private *s_priv; > struct keyspan_port_private *p_priv; > const struct keyspan_device_details *d_details; > struct callbacks *cback; > @@ -2445,7 +2445,6 @@ static int keyspan_port_probe(struct usb_serial_port *port) > if (!p_priv) > return -ENOMEM; > > - s_priv = usb_get_serial_data(port->serial); > p_priv->device_details = d_details; > > /* Setup values for the various callback routines */ > -- > 1.7.10.4 > -- 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