[PATCH AUTOSEL 5.15 16/51] char: xillybus: fix a refcount leak in cleanup_dev()

From: Sasha Levin
Date: Tue Jun 07 2022 - 15:28:25 EST


From: Hangyu Hua <hbh25y@xxxxxxxxx>

[ Upstream commit b67d19662fdee275c479d21853bc1239600a798f ]

usb_get_dev is called in xillyusb_probe. So it is better to call
usb_put_dev before xdev is released.

Acked-by: Eli Billauer <eli.billauer@xxxxxxxxx>
Signed-off-by: Hangyu Hua <hbh25y@xxxxxxxxx>
Link: https://lore.kernel.org/r/20220406075703.23464-1-hbh25y@xxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
drivers/char/xillybus/xillyusb.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/char/xillybus/xillyusb.c b/drivers/char/xillybus/xillyusb.c
index dc3551796e5e..39bcbfd908b4 100644
--- a/drivers/char/xillybus/xillyusb.c
+++ b/drivers/char/xillybus/xillyusb.c
@@ -549,6 +549,7 @@ static void cleanup_dev(struct kref *kref)
if (xdev->workq)
destroy_workqueue(xdev->workq);

+ usb_put_dev(xdev->udev);
kfree(xdev->channels); /* Argument may be NULL, and that's fine */
kfree(xdev);
}
--
2.35.1