]> git.itanic.dy.fi Git - linux-stable/commitdiff
mfd: dln2: Fix memory leak in dln2_probe()
authorQiang Ning <qning0106@126.com>
Thu, 30 Mar 2023 02:43:53 +0000 (10:43 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 May 2023 11:38:36 +0000 (12:38 +0100)
[ Upstream commit 96da8f148396329ba769246cb8ceaa35f1ddfc48 ]

When dln2_setup_rx_urbs() in dln2_probe() fails, error out_free forgets
to call usb_put_dev() to decrease the refcount of dln2->usb_dev.

Fix this by adding usb_put_dev() in the error handling code of
dln2_probe().

Signed-off-by: Qiang Ning <qning0106@126.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20230330024353.4503-1-qning0106@126.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mfd/dln2.c

index 97a69cd6f1278c819de39f1241dfa466877b9100..a0ad99ca495fde029f8d3cff729e8d9debea4efe 100644 (file)
@@ -804,6 +804,7 @@ static int dln2_probe(struct usb_interface *interface,
        dln2_stop_rx_urbs(dln2);
 
 out_free:
+       usb_put_dev(dln2->usb_dev);
        dln2_free(dln2);
 
        return ret;