Oops: general protection fault, probably for non-canonical address 0xdffffc000000000e: 0000 [#1] PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000070-0x0000000000000077] CPU: 0 UID: 0 PID: 21587 Comm: syz.0.4013 Not tainted 6.12.0-rc6-syzkaller-00077-g2e1b3cc9d7f7 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 RIP: 0010:skb_segment+0x19d4/0x4310 net/core/skbuff.c:4802 Code: 00 00 fe e9 c2 ea ff ff e8 39 c0 96 f8 48 8b 84 24 c8 00 00 00 48 8d 78 70 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 09 3c 03 7f 05 e8 eb 49 f8 f8 48 8b 84 24 c8 RSP: 0018:ffffc900000067b8 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 0000000000020048 RCX: ffffffff88f6aa3f RDX: 000000000000000e RSI: ffffffff88f6bb17 RDI: 0000000000000070 RBP: ffffc90000006960 R08: 0000000000000005 R09: 000000000000ffff R10: 000000000000ffff R11: aaaa0aaaaaaaaaaa R12: ffff88802915ba40 R13: 000000000001fffe R14: 000000000001fffe R15: 000000000000ffff FS: 00007f3b2a9466c0(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000002003e000 CR3: 000000002a622000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: tcp_gso_segment+0x3ca/0x1940 net/ipv4/tcp_offload.c:176 tcp6_gso_segment net/ipv6/tcpv6_offload.c:184 [inline] tcp6_gso_segment+0x207/0x1570 net/ipv6/tcpv6_offload.c:151 ipv6_gso_segment+0x7b2/0x1c70 net/ipv6/ip6_offload.c:152 skb_mac_gso_segment+0x2a6/0x650 net/core/gso.c:53 __skb_gso_segment+0x333/0x710 net/core/gso.c:124 skb_gso_segment include/net/gso.h:83 [inline] validate_xmit_skb+0x33b/0xef0 net/core/dev.c:3673 __dev_queue_xmit+0x6f7/0x4350 net/core/dev.c:4424 dev_queue_xmit include/linux/netdevice.h:3094 [inline] neigh_hh_output include/net/neighbour.h:526 [inline] neigh_output include/net/neighbour.h:540 [inline] ip6_finish_output2+0x11e9/0x1a50 net/ipv6/ip6_output.c:141 __ip6_finish_output net/ipv6/ip6_output.c:215 [inline] ip6_finish_output+0x3f9/0x1300 net/ipv6/ip6_output.c:226 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip6_output+0x1f8/0x540 net/ipv6/ip6_output.c:247 dst_output include/net/dst.h:450 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] ip6_xmit+0x1215/0x2100 net/ipv6/ip6_output.c:366 inet6_csk_xmit+0x3ce/0x740 net/ipv6/inet6_connection_sock.c:135 __tcp_transmit_skb+0x1adb/0x3dc0 net/ipv4/tcp_output.c:1466 tcp_transmit_skb net/ipv4/tcp_output.c:1484 [inline] tcp_write_xmit+0x12b1/0x8560 net/ipv4/tcp_output.c:2827 __tcp_push_pending_frames+0xaf/0x390 net/ipv4/tcp_output.c:3012 tcp_push_pending_frames include/net/tcp.h:2107 [inline] tcp_data_snd_check net/ipv4/tcp_input.c:5741 [inline] tcp_rcv_state_process+0xf3e/0x4f30 net/ipv4/tcp_input.c:6979 tcp_v6_do_rcv+0x435/0x16e0 net/ipv6/tcp_ipv6.c:1666 tcp_v6_rcv+0x30b3/0x3fd0 net/ipv6/tcp_ipv6.c:1913 ip6_protocol_deliver_rcu+0x180/0x1510 net/ipv6/ip6_input.c:436 ip6_input_finish+0x14f/0x2f0 net/ipv6/ip6_input.c:481 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] ip6_input+0xa1/0xd0 net/ipv6/ip6_input.c:490 dst_input include/net/dst.h:460 [inline] ip6_rcv_finish net/ipv6/ip6_input.c:79 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] ipv6_rcv+0x265/0x680 net/ipv6/ip6_input.c:309 __netif_receive_skb_one_core+0x12e/0x1e0 net/core/dev.c:5670 __netif_receive_skb+0x1d/0x160 net/core/dev.c:5783 process_backlog+0x443/0x15f0 net/core/dev.c:6115 __napi_poll.constprop.0+0xb7/0x550 net/core/dev.c:6779 napi_poll net/core/dev.c:6848 [inline] net_rx_action+0xa92/0x1010 net/core/dev.c:6970 handle_softirqs+0x213/0x8f0 kernel/softirq.c:554 do_softirq kernel/softirq.c:455 [inline] do_softirq+0xb2/0xf0 kernel/softirq.c:442 __local_bh_enable_ip+0x100/0x120 kernel/softirq.c:382 tcp_recvmsg+0x139/0x680 net/ipv4/tcp.c:2852 inet6_recvmsg+0x12b/0x6a0 net/ipv6/af_inet6.c:680 sock_recvmsg_nosec net/socket.c:1051 [inline] sock_recvmsg+0xfe/0x250 net/socket.c:1073 ____sys_recvmsg+0x219/0x6b0 net/socket.c:2826 ___sys_recvmsg+0x115/0x1a0 net/socket.c:2868 __sys_recvmsg+0x114/0x1e0 net/socket.c:2898 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f3b29b7e719 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 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f3b2a946038 EFLAGS: 00000246 ORIG_RAX: 000000000000002f RAX: ffffffffffffffda RBX: 00007f3b29d35f80 RCX: 00007f3b29b7e719 RDX: 0000000040000110 RSI: 00000000200008c0 RDI: 0000000000000003 RBP: 00007f3b29bf139e R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f3b29d35f80 R15: 00007ffc6988b6d8 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:skb_segment+0x19d4/0x4310 net/core/skbuff.c:4802 Code: 00 00 fe e9 c2 ea ff ff e8 39 c0 96 f8 48 8b 84 24 c8 00 00 00 48 8d 78 70 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 09 3c 03 7f 05 e8 eb 49 f8 f8 48 8b 84 24 c8 RSP: 0018:ffffc900000067b8 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 0000000000020048 RCX: ffffffff88f6aa3f RDX: 000000000000000e RSI: ffffffff88f6bb17 RDI: 0000000000000070 RBP: ffffc90000006960 R08: 0000000000000005 R09: 000000000000ffff R10: 000000000000ffff R11: aaaa0aaaaaaaaaaa R12: ffff88802915ba40 R13: 000000000001fffe R14: 000000000001fffe R15: 000000000000ffff FS: 00007f3b2a9466c0(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000002003e000 CR3: 000000002a622000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 00 fe add %bh,%dh 2: e9 c2 ea ff ff jmp 0xffffeac9 7: e8 39 c0 96 f8 call 0xf896c045 c: 48 8b 84 24 c8 00 00 mov 0xc8(%rsp),%rax 13: 00 14: 48 8d 78 70 lea 0x70(%rax),%rdi 18: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 1f: fc ff df 22: 48 89 fa mov %rdi,%rdx 25: 48 c1 ea 03 shr $0x3,%rdx * 29: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax <-- trapping instruction 2d: 84 c0 test %al,%al 2f: 74 09 je 0x3a 31: 3c 03 cmp $0x3,%al 33: 7f 05 jg 0x3a 35: e8 eb 49 f8 f8 call 0xf8f84a25 3a: 48 rex.W 3b: 8b .byte 0x8b 3c: 84 24 c8 test %ah,(%rax,%rcx,8)