2022-02-28 10:49:45

by Hangyu Hua

[permalink] [raw]
Subject: [PATCH] can: usb: delete a redundant dev_kfree_skb() in ems_usb_start_xmit()

There is no need to call dev_kfree_skb when usb_submit_urb fails beacause
can_put_echo_skb deletes original skb and can_free_echo_skb deletes the cloned
skb.

Signed-off-by: Hangyu Hua <[email protected]>
---
drivers/net/can/usb/ems_usb.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/net/can/usb/ems_usb.c b/drivers/net/can/usb/ems_usb.c
index 7bedceffdfa3..bbec3311d893 100644
--- a/drivers/net/can/usb/ems_usb.c
+++ b/drivers/net/can/usb/ems_usb.c
@@ -819,7 +819,6 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne

usb_unanchor_urb(urb);
usb_free_coherent(dev->udev, size, buf, urb->transfer_dma);
- dev_kfree_skb(skb);

atomic_dec(&dev->active_tx_urbs);

--
2.25.1


2022-02-28 11:09:35

by Hangyu Hua

[permalink] [raw]
Subject: Re: [PATCH] can: usb: delete a redundant dev_kfree_skb() in ems_usb_start_xmit()

All right. :)

On 2022/2/28 18:45, Marc Kleine-Budde wrote:
> On 28.02.2022 18:44:06, Hangyu Hua wrote:
>> I get it. I'll remake a patch that matches your suggestions.
>
> Not needed, it's already applied:
>>> Added patch to can/testing.
>
> Marc
>

2022-02-28 13:20:16

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH] can: usb: delete a redundant dev_kfree_skb() in ems_usb_start_xmit()

On 28.02.2022 18:44:06, Hangyu Hua wrote:
> I get it. I'll remake a patch that matches your suggestions.

Not needed, it's already applied:
> > Added patch to can/testing.

Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
(No filename) (456.00 B)
signature.asc (499.00 B)
Download all attachments

2022-02-28 16:19:43

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH] can: usb: delete a redundant dev_kfree_skb() in ems_usb_start_xmit()

On 28.02.2022 16:36:39, Hangyu Hua wrote:
> There is no need to call dev_kfree_skb when usb_submit_urb fails beacause
> can_put_echo_skb deletes original skb and can_free_echo_skb deletes the cloned
> skb.
>
> Signed-off-by: Hangyu Hua <[email protected]>

Thanks for the patch. Please add a Fixes tag, that points to the commit
that introduced the problem, here it's:

Fixes: 702171adeed3 ("ems_usb: Added support for EMS CPC-USB/ARM7 CAN/USB interface")

I've adjusted the subject a bit ("can: usb: ems_usb_start_xmit(): fix
double dev_kfree_skb() in error path") and added stable on Cc.

Added patch to can/testing.

regards,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
(No filename) (924.00 B)
signature.asc (499.00 B)
Download all attachments

2022-02-28 18:04:28

by Hangyu Hua

[permalink] [raw]
Subject: Re: [PATCH] can: usb: delete a redundant dev_kfree_skb() in ems_usb_start_xmit()

I get it. I'll remake a patch that matches your suggestions.

Thanks.

On 2022/2/28 16:55, Marc Kleine-Budde wrote:
> On 28.02.2022 16:36:39, Hangyu Hua wrote:
>> There is no need to call dev_kfree_skb when usb_submit_urb fails beacause
>> can_put_echo_skb deletes original skb and can_free_echo_skb deletes the cloned
>> skb.
>>
>> Signed-off-by: Hangyu Hua <[email protected]>
>
> Thanks for the patch. Please add a Fixes tag, that points to the commit
> that introduced the problem, here it's:
>
> Fixes: 702171adeed3 ("ems_usb: Added support for EMS CPC-USB/ARM7 CAN/USB interface")
>
> I've adjusted the subject a bit ("can: usb: ems_usb_start_xmit(): fix
> double dev_kfree_skb() in error path") and added stable on Cc.
>
> Added patch to can/testing.
>
> regards,
> Marc
>

2022-03-11 22:33:14

by Hangyu Hua

[permalink] [raw]
Subject: Re: [PATCH] can: usb: delete a redundant dev_kfree_skb() in ems_usb_start_xmit()

Hi Marc,

I didn't find this("can: usb: ems_usb_start_xmit(): fix double
dev_kfree_skb() in error path") in can/testing. Did I miss it or did you
forget to submit it?

Anyway, i find this problem also exists in two other places. You can
check them in:
mcba_usb:
https://lore.kernel.org/all/[email protected]/
usb_8dev:
https://lore.kernel.org/all/[email protected]/

Thanks,
Hangyu


On 2022/2/28 18:47, Hangyu Hua wrote:
> All right. :)
>
> On 2022/2/28 18:45, Marc Kleine-Budde wrote:
>> On 28.02.2022 18:44:06, Hangyu Hua wrote:
>>> I get it. I'll remake a patch that matches your suggestions.
>>
>> Not needed, it's already applied:
>>>> Added patch to can/testing.
>>
>> Marc
>>