Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

can: usb_8dev: fix urb leak on failure path in usb_8dev_start()

If usb_8dev_start() fails to submit urb,
it unanchors the urb but forgets to free it.

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

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>

authored by

Alexey Khoroshilov and committed by
Marc Kleine-Budde
76719868 233a26e8

+1
+1
drivers/net/can/usb/usb_8dev.c
··· 779 779 usb_unanchor_urb(urb); 780 780 usb_free_coherent(priv->udev, RX_BUFFER_SIZE, buf, 781 781 urb->transfer_dma); 782 + usb_free_urb(urb); 782 783 break; 783 784 } 784 785