1 From 7c42631376306fb3f34d51fda546b50a9b6dd6ec Mon Sep 17 00:00:00 2001
2 From: Marc Kleine-Budde <mkl@pengutronix.de>
3 Date: Thu, 2 Mar 2017 12:03:40 +0100
4 Subject: can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
6 From: Marc Kleine-Budde <mkl@pengutronix.de>
8 commit 7c42631376306fb3f34d51fda546b50a9b6dd6ec upstream.
10 The priv->cmd_msg_buffer is allocated in the probe function, but never
11 kfree()ed. This patch converts the kzalloc() to resource-managed
14 Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
15 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
18 drivers/net/can/usb/usb_8dev.c | 9 +++------
19 1 file changed, 3 insertions(+), 6 deletions(-)
21 --- a/drivers/net/can/usb/usb_8dev.c
22 +++ b/drivers/net/can/usb/usb_8dev.c
23 @@ -954,8 +954,8 @@ static int usb_8dev_probe(struct usb_int
24 for (i = 0; i < MAX_TX_URBS; i++)
25 priv->tx_contexts[i].echo_index = MAX_TX_URBS;
27 - priv->cmd_msg_buffer = kzalloc(sizeof(struct usb_8dev_cmd_msg),
29 + priv->cmd_msg_buffer = devm_kzalloc(&intf->dev, sizeof(struct usb_8dev_cmd_msg),
31 if (!priv->cmd_msg_buffer)
34 @@ -969,7 +969,7 @@ static int usb_8dev_probe(struct usb_int
37 "couldn't register CAN device: %d\n", err);
38 - goto cleanup_cmd_msg_buffer;
39 + goto cleanup_candev;
42 err = usb_8dev_cmd_version(priv, &version);
43 @@ -990,9 +990,6 @@ static int usb_8dev_probe(struct usb_int
44 cleanup_unregister_candev:
45 unregister_netdev(priv->netdev);
47 -cleanup_cmd_msg_buffer:
48 - kfree(priv->cmd_msg_buffer);