]> git.baikalelectronics.ru Git - kernel.git/commitdiff
can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt
authorCong Wang <xiyou.wangcong@gmail.com>
Thu, 8 Oct 2020 06:18:21 +0000 (23:18 -0700)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 8 Oct 2020 21:21:46 +0000 (23:21 +0200)
This fixes an uninit-value warning:
BUG: KMSAN: uninit-value in can_receive+0x26b/0x630 net/can/af_can.c:650

Reported-and-tested-by: syzbot+3f3837e61a48d32b495f@syzkaller.appspotmail.com
Fixes: 9d71dd0c7009 ("can: add support of SAE J1939 protocol")
Cc: Robin van der Gracht <robin@protonic.nl>
Cc: Oleksij Rempel <linux@rempel-privat.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Oliver Hartkopp <socketcan@hartkopp.net>
Cc: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Link: https://lore.kernel.org/r/20201008061821.24663-1-xiyou.wangcong@gmail.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/j1939/transport.c

index 0cec4152f9797c51b1cf93c2e9efb91d9a71239d..88cf1062e1e92a54af76e0ee49999ee323a37c47 100644 (file)
@@ -580,6 +580,7 @@ sk_buff *j1939_tp_tx_dat_new(struct j1939_priv *priv,
        skb->dev = priv->ndev;
        can_skb_reserve(skb);
        can_skb_prv(skb)->ifindex = priv->ndev->ifindex;
+       can_skb_prv(skb)->skbcnt = 0;
        /* reserve CAN header */
        skb_reserve(skb, offsetof(struct can_frame, data));