]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
netdevsim: zero initialize struct iphdr in dummy sk_buff
authorNikola Z. Ivanov <zlatistiv@gmail.com>
Sun, 26 Apr 2026 20:14:34 +0000 (23:14 +0300)
committerJakub Kicinski <kuba@kernel.org>
Tue, 28 Apr 2026 00:03:13 +0000 (17:03 -0700)
Syzbot reports a KMSAN uninit-value originating from
nsim_dev_trap_skb_build, with the allocation also
being performed in the same function.

Fix this by calling skb_put_zero instead of skb_put to
guarantee zero initialization of the whole IP header.

Closes: https://syzkaller.appspot.com/bug?extid=23d7fcd204e3837866ff
Fixes: da58f90f11f5 ("netdevsim: Add devlink-trap support")
Signed-off-by: Nikola Z. Ivanov <zlatistiv@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260426201434.742030-1-zlatistiv@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/netdevsim/dev.c

index 1e06e781c835f0df9897e7c01754cdbc8aafaded..f00fc2f9ebdec7ea9a78353736f6c5bc9a5b36a6 100644 (file)
@@ -829,7 +829,7 @@ static struct sk_buff *nsim_dev_trap_skb_build(void)
        skb->protocol = htons(ETH_P_IP);
 
        skb_set_network_header(skb, skb->len);
-       iph = skb_put(skb, sizeof(struct iphdr));
+       iph = skb_put_zero(skb, sizeof(struct iphdr));
        iph->protocol = IPPROTO_UDP;
        iph->saddr = in_aton("192.0.2.1");
        iph->daddr = in_aton("198.51.100.1");