Skip to content

Commit 7c42631

Browse files
can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
The priv->cmd_msg_buffer is allocated in the probe function, but never kfree()ed. This patch converts the kzalloc() to resource-managed kzalloc. Cc: linux-stable <[email protected]> Signed-off-by: Marc Kleine-Budde <[email protected]>
1 parent 540a27a commit 7c42631

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

drivers/net/can/usb/usb_8dev.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -951,8 +951,8 @@ static int usb_8dev_probe(struct usb_interface *intf,
951951
for (i = 0; i < MAX_TX_URBS; i++)
952952
priv->tx_contexts[i].echo_index = MAX_TX_URBS;
953953

954-
priv->cmd_msg_buffer = kzalloc(sizeof(struct usb_8dev_cmd_msg),
955-
GFP_KERNEL);
954+
priv->cmd_msg_buffer = devm_kzalloc(&intf->dev, sizeof(struct usb_8dev_cmd_msg),
955+
GFP_KERNEL);
956956
if (!priv->cmd_msg_buffer)
957957
goto cleanup_candev;
958958

@@ -966,7 +966,7 @@ static int usb_8dev_probe(struct usb_interface *intf,
966966
if (err) {
967967
netdev_err(netdev,
968968
"couldn't register CAN device: %d\n", err);
969-
goto cleanup_cmd_msg_buffer;
969+
goto cleanup_candev;
970970
}
971971

972972
err = usb_8dev_cmd_version(priv, &version);
@@ -987,9 +987,6 @@ static int usb_8dev_probe(struct usb_interface *intf,
987987
cleanup_unregister_candev:
988988
unregister_netdev(priv->netdev);
989989

990-
cleanup_cmd_msg_buffer:
991-
kfree(priv->cmd_msg_buffer);
992-
993990
cleanup_candev:
994991
free_candev(netdev);
995992

0 commit comments

Comments
 (0)