mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
commit 7c42631376 upstream.
The priv->cmd_msg_buffer is allocated in the probe function, but never
kfree()ed. This patch converts the kzalloc() to resource-managed
kzalloc.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3584716db1
commit
20bc8a897e
@@ -954,8 +954,8 @@ static int usb_8dev_probe(struct usb_interface *intf,
|
|||||||
for (i = 0; i < MAX_TX_URBS; i++)
|
for (i = 0; i < MAX_TX_URBS; i++)
|
||||||
priv->tx_contexts[i].echo_index = MAX_TX_URBS;
|
priv->tx_contexts[i].echo_index = MAX_TX_URBS;
|
||||||
|
|
||||||
priv->cmd_msg_buffer = kzalloc(sizeof(struct usb_8dev_cmd_msg),
|
priv->cmd_msg_buffer = devm_kzalloc(&intf->dev, sizeof(struct usb_8dev_cmd_msg),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!priv->cmd_msg_buffer)
|
if (!priv->cmd_msg_buffer)
|
||||||
goto cleanup_candev;
|
goto cleanup_candev;
|
||||||
|
|
||||||
@@ -969,7 +969,7 @@ static int usb_8dev_probe(struct usb_interface *intf,
|
|||||||
if (err) {
|
if (err) {
|
||||||
netdev_err(netdev,
|
netdev_err(netdev,
|
||||||
"couldn't register CAN device: %d\n", err);
|
"couldn't register CAN device: %d\n", err);
|
||||||
goto cleanup_cmd_msg_buffer;
|
goto cleanup_candev;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = usb_8dev_cmd_version(priv, &version);
|
err = usb_8dev_cmd_version(priv, &version);
|
||||||
@@ -990,9 +990,6 @@ static int usb_8dev_probe(struct usb_interface *intf,
|
|||||||
cleanup_unregister_candev:
|
cleanup_unregister_candev:
|
||||||
unregister_netdev(priv->netdev);
|
unregister_netdev(priv->netdev);
|
||||||
|
|
||||||
cleanup_cmd_msg_buffer:
|
|
||||||
kfree(priv->cmd_msg_buffer);
|
|
||||||
|
|
||||||
cleanup_candev:
|
cleanup_candev:
|
||||||
free_candev(netdev);
|
free_candev(netdev);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user