------------[ cut here ]------------ Illegal XDP return value 4294967274, expect packet loss! WARNING: CPU: 1 PID: 31171 at net/core/filter.c:8190 bpf_warn_invalid_xdp_action+0x55/0x60 net/core/filter.c:8188 Modules linked in: CPU: 1 PID: 31171 Comm: syz-executor.2 Not tainted 5.16.0-rc8-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:bpf_warn_invalid_xdp_action+0x55/0x60 net/core/filter.c:8188 Code: e8 50 d9 60 f9 83 fb 04 48 c7 c0 00 3a 9a 8b 48 c7 c6 40 3a 9a 8b 48 0f 47 f0 48 c7 c7 a0 39 9a 8b 89 da 31 c0 e8 bb b7 2a f9 <0f> 0b 5b c3 0f 1f 80 00 00 00 00 55 41 57 41 56 41 55 41 54 53 50 RSP: 0018:ffffc90000dc0730 EFLAGS: 00010246 RAX: d76ee5ce5eb2c600 RBX: 00000000ffffffea RCX: ffff88807ca9d700 RDX: 0000000000000101 RSI: 0000000000000101 RDI: 0000000000000000 RBP: ffffc90000dc0830 R08: ffffffff816a1042 R09: ffffed1017364f2c R10: ffffed1017364f2c R11: 0000000000000000 R12: 1ffff920001b80ec R13: ffff888049a22640 R14: dffffc0000000000 R15: 00000000ffffffea FS: 00007f7a7f011700(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b2ef22000 CR3: 000000007cd68000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: netif_receive_generic_xdp net/core/dev.c:4830 [inline] do_xdp_generic+0x52b/0x6a0 net/core/dev.c:4878 __netif_receive_skb_core+0x1d11/0x3e10 net/core/dev.c:5286 __netif_receive_skb_one_core net/core/dev.c:5463 [inline] __netif_receive_skb+0x120/0x500 net/core/dev.c:5579 process_backlog+0x518/0x9a0 net/core/dev.c:6455 __napi_poll+0xbd/0x520 net/core/dev.c:7023 napi_poll net/core/dev.c:7090 [inline] net_rx_action+0x61c/0xf30 net/core/dev.c:7177 __do_softirq+0x392/0x7a3 kernel/softirq.c:558 __irq_exit_rcu+0xec/0x170 kernel/softirq.c:637 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 RIP: 0010:native_irq_disable arch/x86/include/asm/irqflags.h:40 [inline] RIP: 0010:arch_local_irq_disable arch/x86/include/asm/irqflags.h:75 [inline] RIP: 0010:arch_local_irq_save arch/x86/include/asm/irqflags.h:107 [inline] RIP: 0010:___slab_alloc+0x12c/0xc40 mm/slub.c:2946 Code: ff 0f 84 22 0b 00 00 48 f7 07 20 00 00 00 0f 85 c9 04 00 00 89 1c 24 48 c7 44 24 28 00 00 00 00 9c 8f 44 24 28 48 8b 44 24 28 48 89 44 24 10 a9 00 02 00 00 74 05 e8 12 ff bc ff 49 8b 6d 00 RSP: 0018:ffffc900036ff0e8 EFLAGS: 00000246 RAX: 0000000000000246 RBX: 00000000ffffffff RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffea00019e6f00 RBP: ffff8880b9b3d190 R08: ffffffff818b1f40 R09: fffffbfff1bfd5be R10: fffffbfff1bfd5be R11: 0000000000000000 R12: ffffea00019e6f00 R13: ffff888011441c80 R14: ffffffff00000000 R15: 00000000ffffffff __slab_alloc mm/slub.c:3109 [inline] slab_alloc_node mm/slub.c:3200 [inline] __kmalloc_node_track_caller+0x2df/0x400 mm/slub.c:4956 kmalloc_reserve net/core/skbuff.c:354 [inline] pskb_expand_head+0x111/0x10e0 net/core/skbuff.c:1701 __bpf_try_make_writable net/core/filter.c:1655 [inline] bpf_try_make_writable net/core/filter.c:1661 [inline] bpf_try_make_head_writable net/core/filter.c:1669 [inline] ____bpf_clone_redirect net/core/filter.c:2423 [inline] bpf_clone_redirect+0x10e/0x350 net/core/filter.c:2401 bpf_prog_5329ecf32ce9a25b+0x59/0xf08 bpf_dispatcher_nop_func include/linux/bpf.h:727 [inline] __bpf_prog_run include/linux/filter.h:626 [inline] bpf_prog_run include/linux/filter.h:633 [inline] bpf_test_run+0x44a/0x8f0 net/bpf/test_run.c:120 bpf_prog_test_run_skb+0xacd/0x2000 net/bpf/test_run.c:666 bpf_prog_test_run kernel/bpf/syscall.c:3349 [inline] __sys_bpf+0x562a/0x12d90 kernel/bpf/syscall.c:4651 __do_sys_bpf kernel/bpf/syscall.c:4737 [inline] __se_sys_bpf kernel/bpf/syscall.c:4735 [inline] __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:4735 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f7a8069be99 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f7a7f011168 EFLAGS: 00000246 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 00007f7a807aef60 RCX: 00007f7a8069be99 RDX: 0000000000000048 RSI: 0000000020000040 RDI: 000000000000000a RBP: 00007f7a806f5ff1 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffca6a54a4f R14: 00007f7a7f011300 R15: 0000000000022000 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 0f 84 22 0b 00 00 je 0xb28 6: 48 f7 07 20 00 00 00 testq $0x20,(%rdi) d: 0f 85 c9 04 00 00 jne 0x4dc 13: 89 1c 24 mov %ebx,(%rsp) 16: 48 c7 44 24 28 00 00 movq $0x0,0x28(%rsp) 1d: 00 00 1f: 9c pushfq 20: 8f 44 24 28 popq 0x28(%rsp) 24: 48 8b 44 24 28 mov 0x28(%rsp),%rax * 29: fa cli <-- trapping instruction 2a: 48 89 44 24 10 mov %rax,0x10(%rsp) 2f: a9 00 02 00 00 test $0x200,%eax 34: 74 05 je 0x3b 36: e8 12 ff bc ff callq 0xffbcff4d 3b: 49 8b 6d 00 mov 0x0(%r13),%rbp