| Date | Mon, 25 Apr 2011 22:04:23 +0200 | From | Willy Tarreau <> | Subject | [PATCH 111/173] USB: cdc-acm: fix potential null-pointer dereference on disconnect |
| |
2.6.27.59-stable review patch. If anyone has any objections, please let us know.
------------------
From: Johan Hovold <jhovold@gmail.com>
commit 7e7797e7f6f7bfab73fca02c65e40eaa5bb9000c upstream.
Fix potential null-pointer exception on disconnect introduced by commit 11ea859d64b69a747d6b060b9ed1520eab1161fe (USB: additional power savings for cdc-acm devices that support remote wakeup).
Only access acm->dev after making sure it is non-null in control urb completion handler.
Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- drivers/usb/class/cdc-acm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Index: longterm-2.6.27/drivers/usb/class/cdc-acm.c =================================================================== --- longterm-2.6.27.orig/drivers/usb/class/cdc-acm.c 2011-01-23 10:52:26.000000000 +0100 +++ longterm-2.6.27/drivers/usb/class/cdc-acm.c 2011-04-25 16:30:06.372280691 +0200 @@ -285,6 +285,8 @@ if (!ACM_READY(acm)) goto exit; + usb_mark_last_busy(acm->dev); + data = (unsigned char *)(dr + 1); switch (dr->bNotificationType) { @@ -319,7 +321,6 @@ break; } exit: - usb_mark_last_busy(acm->dev); retval = usb_submit_urb (urb, GFP_ATOMIC); if (retval) err ("%s - usb_submit_urb failed with result %d",
|