Thread (8 messages) flat view 8 messages, 4 authors, 2018-07-15
STALE2983d

[PATCH] Input: pxrc - fix leak of usb_device

From: Alexey Khoroshilov <hidden>
Date: 2018-07-13 20:09:35
Also in: lkml
Subsystem: input (keyboard, mouse, joystick, touchscreen) drivers, phoenix rc flight controller adapter, the rest · Maintainers: Dmitry Torokhov, Marcus Folkesson, Linus Torvalds

pxrc_probe() calls usb_get_dev(), but there is no usb_put_dev()
anywhere in the driver.

The patch adds one to error handling code and to pxrc_disconnect().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <redacted>
---
 drivers/input/joystick/pxrc.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/input/joystick/pxrc.c b/drivers/input/joystick/pxrc.c
index 07a0dbd3ced2..0a31de63ac8e 100644
--- a/drivers/input/joystick/pxrc.c
+++ b/drivers/input/joystick/pxrc.c
@@ -221,6 +221,7 @@ static int pxrc_probe(struct usb_interface *intf,
 	usb_free_urb(pxrc->urb);
 
 error:
+	usb_put_dev(pxrc->udev);
 	return retval;
 }
 
@@ -229,6 +230,7 @@ static void pxrc_disconnect(struct usb_interface *intf)
 	struct pxrc *pxrc = usb_get_intfdata(intf);
 
 	usb_free_urb(pxrc->urb);
+	usb_put_dev(pxrc->udev);
 	usb_set_intfdata(intf, NULL);
 }
 
-- 
2.7.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help