Skip to contentSkip to conversation

Patch "can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer" has been added to the 4.10-stable tree

PATCH [email protected] 1 participant 1 message Mar 10, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

    can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer

to the 4.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
can-usb_8dev-fix-memory-leak-of-priv-cmd_msg_buffer.patch
and it can be found in the queue-4.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 7c42631376306fb3f34d51fda546b50a9b6dd6ec Mon Sep 17 00:00:00 2001

From: Marc Kleine-Budde <[email protected]>
Date: Thu, 2 Mar 2017 12:03:40 +0100
Subject: can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer

From: Marc Kleine-Budde <[email protected]>

commit 7c42631376306fb3f34d51fda546b50a9b6dd6ec 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.

---
 drivers/net/can/usb/usb_8dev.c |    9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
drivers/net/can/usb/usb_8dev.c +3 -6
@@ -951,8 +951,8 @@ static int usb_8dev_probe(struct usb_int
 	for (i = 0; i < MAX_TX_URBS; i++)
 		priv->tx_contexts[i].echo_index = MAX_TX_URBS;
 
-	priv->cmd_msg_buffer = kzalloc(sizeof(struct usb_8dev_cmd_msg),
-				      GFP_KERNEL);
+	priv->cmd_msg_buffer = devm_kzalloc(&intf->dev, sizeof(struct usb_8dev_cmd_msg),
+					    GFP_KERNEL);
 	if (!priv->cmd_msg_buffer)
 		goto cleanup_candev;
 
@@ -966,7 +966,7 @@ static int usb_8dev_probe(struct usb_int
 	if (err) {
 		netdev_err(netdev,
 			"couldn't register CAN device: %d\n", err);
-		goto cleanup_cmd_msg_buffer;
+		goto cleanup_candev;
 	}
 
 	err = usb_8dev_cmd_version(priv, &version);
@@ -987,9 +987,6 @@ static int usb_8dev_probe(struct usb_int
 cleanup_unregister_candev:
 	unregister_netdev(priv->netdev);
 
-cleanup_cmd_msg_buffer:
-	kfree(priv->cmd_msg_buffer);
-
 cleanup_candev:
 	free_candev(netdev);
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.10/can-gs_usb-don-t-use-stack-memory-for-usb-transfers.patch queue-4.10/can-usb_8dev-fix-memory-leak-of-priv-cmd_msg_buffer.patch