mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 22:02:02 +00:00
can: can327: can327_feed_frame_to_netdev(): fix potential skb leak when netdev is down
commit8fa452cfaf
upstream. In can327_feed_frame_to_netdev(), it did not free the skb when netdev is down, and all callers of can327_feed_frame_to_netdev() did not free allocated skb too. That would trigger skb leak. Fix it by adding kfree_skb() in can327_feed_frame_to_netdev() when netdev is down. Not tested, just compiled. Fixes:43da2f0762
("can: can327: CAN/ldisc driver for ELM327 based OBD-II adapters") Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com> Link: https://lore.kernel.org/all/20221110061437.411525-1-william.xuanziyang@huawei.com Reviewed-by: Max Staudt <max@enpas.org> Cc: stable@vger.kernel.org Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
7c80ce8542
commit
797b1d9fc0
1 changed files with 3 additions and 1 deletions
|
@ -263,8 +263,10 @@ static void can327_feed_frame_to_netdev(struct can327 *elm, struct sk_buff *skb)
|
|||
{
|
||||
lockdep_assert_held(&elm->lock);
|
||||
|
||||
if (!netif_running(elm->dev))
|
||||
if (!netif_running(elm->dev)) {
|
||||
kfree_skb(skb);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Queue for NAPI pickup.
|
||||
* rx-offload will update stats and LEDs for us.
|
||||
|
|
Loading…
Reference in a new issue