Re: [syzbot] [net?] WARNING in ipgre_xmit (2)
From: Jason Xing <hidden>
Date: 2026-08-09 06:04:18
Also in:
lkml
Subsystem:
networking [general], the rest, xdp sockets (af_xdp) · Maintainers:
"David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds, Magnus Karlsson, Maciej Fijalkowski
On Wed, Aug 5, 2026 at 1:05 AM syzbot [off-list ref] wrote:
syzbot has found a reproducer for the following issue on: HEAD commit: 848acc8ffe1b Merge tag 'fsverity-for-linus' of git://git.k.. git tree: upstream console+strace: https://syzkaller.appspot.com/x/log.txt?x=178fb649580000 kernel config: https://syzkaller.appspot.com/x/.config?x=4e38b15c29e6a1d9 dashboard link: https://syzkaller.appspot.com/bug?extid=f16c1b285c9f63994eec compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8 syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1617be32580000 C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11d113b9580000 Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/4949138dcfef/disk-848acc8f.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/31cc6fbe5b8a/vmlinux-848acc8f.xz kernel image: https://storage.googleapis.com/syzbot-assets/433919ca6520/bzImage-848acc8f.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: syzbot+f16c1b285c9f63994eec@syzkaller.appspotmail.com ------------[ cut here ]------------ len > ((int)(~0U >> 1)) WARNING: ./include/linux/skbuff.h:2864 at pskb_may_pull_reason include/linux/skbuff.h:2864 [inline], CPU#1: syz-executor147/5638 WARNING: ./include/linux/skbuff.h:2864 at pskb_network_may_pull_reason include/linux/skbuff.h:3265 [inline], CPU#1: syz-executor147/5638 WARNING: ./include/linux/skbuff.h:2864 at pskb_inet_may_pull_reason include/net/ip_tunnels.h:481 [inline], CPU#1: syz-executor147/5638 WARNING: ./include/linux/skbuff.h:2864 at pskb_inet_may_pull include/net/ip_tunnels.h:486 [inline], CPU#1: syz-executor147/5638 WARNING: ./include/linux/skbuff.h:2864 at ipgre_xmit+0x958/0xcd0 net/ipv4/ip_gre.c:658, CPU#1: syz-executor147/5638 Modules linked in: CPU: 1 UID: 0 PID: 5638 Comm: syz-executor147 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 RIP: 0010:pskb_may_pull_reason include/linux/skbuff.h:2864 [inline] RIP: 0010:pskb_network_may_pull_reason include/linux/skbuff.h:3265 [inline] RIP: 0010:pskb_inet_may_pull_reason include/net/ip_tunnels.h:481 [inline] RIP: 0010:pskb_inet_may_pull include/net/ip_tunnels.h:486 [inline] RIP: 0010:ipgre_xmit+0x958/0xcd0 net/ipv4/ip_gre.c:658 Code: 48 3b 84 24 80 00 00 00 0f 85 3b 01 00 00 31 c0 48 8d 65 d8 5b 41 5c 41 5d 41 5e 41 5f 5d e9 3f 1a 78 01 cc e8 09 f5 6a f7 90 <0f> 0b 90 e9 08 f8 ff ff 44 89 ff 44 89 e6 e8 b5 f6 6a f7 45 39 e7 RSP: 0018:ffffc900039af5e0 EFLAGS: 00010293 RAX: ffffffff8a5c1d67 RBX: 0000000000000000 RCX: ffff888079535d00 RDX: 0000000000000000 RSI: 00000000ffffff40 RDI: 0000000000000000 RBP: ffffc900039af6b0 R08: ffff888079535d00 R09: 0000000000000002 R10: 0000000000004888 R11: ffffffff8a5c1410 R12: ffff88807ecbc000 R13: dffffc0000000000 R14: ffff88807b7f2780 R15: 00000000ffffff40 FS: 0000555590a0a400(0000) GS:ffff88812504b000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055704428ded0 CR3: 00000000788f2000 CR4: 00000000003526f0 Call Trace: <TASK> __netdev_start_xmit include/linux/netdevice.h:5400 [inline] netdev_start_xmit include/linux/netdevice.h:5409 [inline] __dev_direct_xmit+0x4b6/0x730 net/core/dev.c:4942 __xsk_generic_xmit net/xdp/xsk.c:1253 [inline] xsk_generic_xmit+0x2759/0x47b0 net/xdp/xsk.c:1309 __xsk_sendmsg net/xdp/xsk.c:1363 [inline] xsk_sendmsg+0x482/0x810 net/xdp/xsk.c:1373 sock_sendmsg_nosec+0x13a/0x180 net/socket.c:775 __sock_sendmsg net/socket.c:790 [inline] ____sys_sendmsg+0x54e/0x850 net/socket.c:2684 ___sys_sendmsg+0x2a5/0x360 net/socket.c:2738 __sys_sendmsg net/socket.c:2770 [inline] __do_sys_sendmsg net/socket.c:2775 [inline] __se_sys_sendmsg net/socket.c:2773 [inline] __x64_sys_sendmsg+0x1b1/0x290 net/socket.c:2773 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fc137b1b409 Code: c0 79 93 eb d5 48 8d 7c 1d 00 eb 99 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 d8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fffc9ef46d8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fc137b1b409 RDX: 0000000000000040 RSI: 0000200000000700 RDI: 0000000000000003 RBP: 0000000000000000 R08: 0000000080000000 R09: 0000000080000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000003 </TASK> --- If you want syzbot to run the reproducer, reply with: #syz test: git://repo/address.git branch-or-commit-hash If you attach or paste a git patch, syzbot will apply it before testing.
Please try this one instead. I'm not sure if the previous patch has the index problem... But the following patch can be applied in my tree. #syz test
diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c
index 7855ee09c4b6..aa0d397d569e 100644
--- a/net/xdp/xsk.c
+++ b/net/xdp/xsk.c@@ -1028,6 +1028,7 @@ static struct sk_buff*xsk_build_skb_zerocopy(struct xdp_sock *xs,
return ERR_PTR(err);
skb_reserve(skb, hr);
+ skb_reset_network_header(skb);
if (desc->options & XDP_TX_METADATA) {
err = xsk_skb_metadata(skb, buffer, desc, pool, hr);
if (unlikely(err)) {@@ -1112,6 +1113,7 @@ static struct sk_buff *xsk_build_skb(struct xdp_sock *xs, skb_reserve(skb, hr); skb_put(skb, len); + skb_reset_network_header(skb); err = skb_store_bits(skb, 0, buffer, len); if (unlikely(err))
--
2.43.5