Re: [PATCH] can: usb: fix a possible memory leak in esd_usb2_start_xmit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

I get it. But this means ems_usb_start_xmit have a redundant dev_kfree_skb beacause can_put_echo_skb delete original skb and can_free_echo_skb delete the cloned skb. While this code is harmless do you think we need to delete it ?

Thanks.

On 2022/2/25 23:56, Marc Kleine-Budde wrote:
On 25.02.2022 14:00:19, Hangyu Hua wrote:
As in case of ems_usb_start_xmit, dev_kfree_skb needs to be called when
usb_submit_urb fails to avoid possible refcount leaks.

Thanks for your patch. Have you tested that there is actually a mem
leak? Please have a look at the can_free_echo_skb() function that is
called a few lines earlier.

Signed-off-by: Hangyu Hua <hbh25y@xxxxxxxxx>
---
  drivers/net/can/usb/esd_usb2.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/can/usb/esd_usb2.c b/drivers/net/can/usb/esd_usb2.c
index 286daaaea0b8..7b5e6c250d00 100644
--- a/drivers/net/can/usb/esd_usb2.c
+++ b/drivers/net/can/usb/esd_usb2.c
@@ -810,7 +810,7 @@ static netdev_tx_t esd_usb2_start_xmit(struct sk_buff *skb,
  		usb_unanchor_urb(urb);
stats->tx_dropped++;
-
+		dev_kfree_skb(skb);
  		if (err == -ENODEV)
  			netif_device_detach(netdev);
  		else

regards,
Marc




[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux