====================================== | WAIT TIMEOUT stdout | | [ 658.496350][ T8746] general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN NOPTI | [ 658.496789][ T8746] KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] [ 658.497244][ T8746] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 658.497564][ T8746] RIP: 0010:__nh_valid_dump_req (./include/net/netlink.h:1680 net/ipv4/nexthop.c:3404) [ 658.497754][ T8746] Code: ea 03 80 3c 02 00 0f 85 ab 02 00 00 48 8b 5e 70 48 85 db 74 73 48 b8 00 00 00 00 00 fc ff df 48 8d 7b 04 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 33 All code ======== 0: ea (bad) 1: 03 80 3c 02 00 0f add 0xf00023c(%rax),%eax 7: 85 ab 02 00 00 48 test %ebp,0x48000002(%rbx) d: 8b 5e 70 mov 0x70(%rsi),%ebx 10: 48 85 db test %rbx,%rbx 13: 74 73 je 0x88 15: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 1c: fc ff df 1f: 48 8d 7b 04 lea 0x4(%rbx),%rdi 23: 48 89 fa mov %rdi,%rdx 26: 48 c1 ea 03 shr $0x3,%rdx 2a:* 0f b6 14 02 movzbl (%rdx,%rax,1),%edx <-- trapping instruction 2e: 48 89 f8 mov %rdi,%rax 31: 83 e0 07 and $0x7,%eax 34: 83 c0 03 add $0x3,%eax 37: 38 d0 cmp %dl,%al 39: 7c 08 jl 0x43 3b: 84 d2 test %dl,%dl 3d: 0f .byte 0xf 3e: 85 33 test %esi,(%rbx) Code starting with the faulting instruction =========================================== 0: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx 4: 48 89 f8 mov %rdi,%rax 7: 83 e0 07 and $0x7,%eax a: 83 c0 03 add $0x3,%eax d: 38 d0 cmp %dl,%al f: 7c 08 jl 0x19 11: 84 d2 test %dl,%dl 13: 0f .byte 0xf 14: 85 33 test %esi,(%rbx) [ 658.498244][ T8746] RSP: 0018:ffffc90000b4f448 EFLAGS: 00010247 [ 658.498431][ T8746] RAX: dffffc0000000000 RBX: 0000000000000001 RCX: ffffc90000b4f770 [ 658.498639][ T8746] RDX: 0000000000000000 RSI: ffffc90000b4f500 RDI: 0000000000000005 [ 658.498859][ T8746] RBP: ffffc90000b4f680 R08: ffffc90000b4f770 R09: 0000000000000004 [ 658.499063][ T8746] R10: dffffc0000000000 R11: 0000000000000003 R12: ffff8880094c0380 [ 658.499278][ T8746] R13: 0000000000000000 R14: ffffc90000b4f500 R15: 0000000000000001 [ 658.499482][ T8746] FS: 00007fee77c69c40(0000) GS:ffff88802fa80000(0000) knlGS:0000000000000000 [ 658.499732][ T8746] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 658.499926][ T8746] CR2: 00000000004e0178 CR3: 0000000005cc6001 CR4: 0000000000770ef0 [ 658.500140][ T8746] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 658.500356][ T8746] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 658.500566][ T8746] PKRU: 55555554 [ 658.500677][ T8746] Call Trace: [ 658.500779][ T8746] [ 658.500872][ T8746] ? die_addr (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:460) [ 658.500988][ T8746] ? exc_general_protection (arch/x86/kernel/traps.c:701 arch/x86/kernel/traps.c:643) [ 658.501127][ T8746] ? asm_exc_general_protection (./arch/x86/include/asm/idtentry.h:564) [ 658.501277][ T8746] ? __nh_valid_dump_req (./include/net/netlink.h:1680 net/ipv4/nexthop.c:3404) [ 658.501413][ T8746] nh_valid_dump_bucket_req (net/ipv4/nexthop.c:3552) [ 658.501551][ T8746] ? __lock_release (kernel/locking/lockdep.c:5430) [ 658.501698][ T8746] ? __pfx_nh_valid_dump_bucket_req (net/ipv4/nexthop.c:3552) [ 658.501880][ T8746] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5725) [ 658.502017][ T8746] ? netlink_dump (net/netlink/af_netlink.c:2269) [ 658.502154][ T8746] ? trace_contention_end (./include/trace/events/lock.h:122 (discriminator 44)) [ 658.502292][ T8746] ? __mutex_lock (./arch/x86/include/asm/preempt.h:94 kernel/locking/mutex.c:618 kernel/locking/mutex.c:752) [ 658.502446][ T8746] rtm_dump_nexthop_bucket (net/ipv4/nexthop.c:3676) [ 658.502582][ T8746] ? __pfx___mutex_lock (kernel/locking/mutex.c:751) [ 658.502719][ T8746] ? __alloc_skb (net/core/skbuff.c:684) [ 658.502878][ T8746] ? __pfx_rtm_dump_nexthop_bucket (net/ipv4/nexthop.c:3669) [ 658.503047][ T8746] ? __mutex_trylock_common (./arch/x86/include/asm/atomic64_64.h:109 ./include/linux/atomic/atomic-arch-fallback.h:4276 ./include/linux/atomic/atomic-long.h:1476 ./include/linux/atomic/atomic-instrumented.h:4424 kernel/locking/mutex.c:129) [ 658.503196][ T8746] netlink_dump (net/netlink/af_netlink.c:2269) [ 658.503332][ T8746] ? trace_contention_end (./include/trace/events/lock.h:122 (discriminator 44)) [ 658.503477][ T8746] ? __pfx_netlink_dump (net/netlink/af_netlink.c:2197) [ 658.503612][ T8746] ? __mutex_lock (./arch/x86/include/asm/preempt.h:94 kernel/locking/mutex.c:618 kernel/locking/mutex.c:752) [ 658.503759][ T8746] ? __pfx___netlink_lookup (net/netlink/af_netlink.c:512) [ 658.503907][ T8746] ? netlink_lookup (./include/linux/rcupdate.h:308 ./include/linux/rcupdate.h:783 net/netlink/af_netlink.c:539) [ 658.504062][ T8746] __netlink_dump_start (./include/linux/instrumented.h:96 ./include/linux/atomic/atomic-instrumented.h:400 ./include/linux/refcount.h:261 ./include/linux/refcount.h:304 ./include/linux/refcount.h:322 ./include/net/sock.h:1940 net/netlink/af_netlink.c:2388) [ 658.504197][ T8746] rtnetlink_rcv_msg (net/core/rtnetlink.c:6555) [ 658.504340][ T8746] ? __pfx_rtm_dump_nexthop_bucket (net/ipv4/nexthop.c:3669) [ 658.504544][ T8746] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6489) [ 658.504679][ T8746] ? __pfx_rtm_dump_nexthop_bucket (net/ipv4/nexthop.c:3669) [ 658.504882][ T8746] ? __lock_acquire (kernel/locking/lockdep.c:5137) [ 658.505025][ T8746] netlink_rcv_skb (net/netlink/af_netlink.c:2559) [ 658.505165][ T8746] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6489) [ 658.505301][ T8746] ? __pfx_netlink_rcv_skb (net/netlink/af_netlink.c:2536) [ 658.505450][ T8746] ? lock_acquire.part.0 (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5756) [ 658.505588][ T8746] ? __pfx___netlink_lookup (net/netlink/af_netlink.c:512) [ 658.505724][ T8746] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5725) [ 658.505865][ T8746] ? netlink_deliver_tap (./include/linux/rcupdate.h:308 ./include/linux/rcupdate.h:783 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 658.506014][ T8746] ? netlink_deliver_tap (./include/linux/rcupdate.h:308 ./include/linux/rcupdate.h:783 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 658.506147][ T8746] ? netlink_deliver_tap (./include/linux/rcupdate.h:308 ./include/linux/rcupdate.h:783 net/netlink/af_netlink.c:340) [ 658.506282][ T8746] netlink_unicast (net/netlink/af_netlink.c:1335 net/netlink/af_netlink.c:1361) [ 658.506419][ T8746] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1346) [ 658.506552][ T8746] ? __lock_release (kernel/locking/lockdep.c:5430) [ 658.506693][ T8746] ? rcu_read_unlock (./include/linux/rcupdate.h:308 (discriminator 9) ./include/linux/rcupdate.h:783 (discriminator 9)) [ 658.506837][ T8746] ? __pfx___lock_release (kernel/locking/lockdep.c:5406) [ 658.506989][ T8746] netlink_sendmsg (net/netlink/af_netlink.c:1905) [ 658.507126][ T8746] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1824) [ 658.507261][ T8746] ? __fget_light (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1145) [ 658.507416][ T8746] __sys_sendto (net/socket.c:730 net/socket.c:745 net/socket.c:2191) [ 658.507555][ T8746] ? __pfx___sys_sendto (net/socket.c:2161) [ 658.507705][ T8746] ? __lock_release (kernel/locking/lockdep.c:5430) [ 658.507851][ T8746] ? do_user_addr_fault (arch/x86/mm/fault.c:1436) [ 658.508009][ T8746] ? __pfx___lock_release (kernel/locking/lockdep.c:5406) [ 658.508142][ T8746] ? __up_read (./arch/x86/include/asm/atomic64_64.h:79 ./include/linux/atomic/atomic-arch-fallback.h:2735 ./include/linux/atomic/atomic-long.h:184 ./include/linux/atomic/atomic-instrumented.h:3289 kernel/locking/rwsem.c:1347) [ 658.508291][ T8746] ? __pfx_find_vma (mm/mmap.c:1883) [ 658.508430][ T8746] ? __pfx___up_read (kernel/locking/rwsem.c:1339) [ 658.508580][ T8746] ? do_user_addr_fault (arch/x86/mm/fault.c:1436) [ 658.508717][ T8746] __x64_sys_sendto (net/socket.c:2199) [ 658.508874][ T8746] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:4300 kernel/locking/lockdep.c:4359) [ 658.509060][ T8746] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 658.509196][ T8746] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:129) [ 658.509364][ T8746] RIP: 0033:0x7fee77e72700 [ 658.509515][ T8746] Code: ff ff 64 89 02 eb bd 0f 1f 00 f3 0f 1e fa 41 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 1d 45 31 c9 45 31 c0 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 68 c3 0f 1f 80 00 00 00 00 41 54 48 83 ec 20 All code ======== 0: ff (bad) 1: ff 64 89 02 jmp *0x2(%rcx,%rcx,4) 5: eb bd jmp 0xffffffffffffffc4 7: 0f 1f 00 nopl (%rax) a: f3 0f 1e fa endbr64 e: 41 89 ca mov %ecx,%r10d 11: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 18: 00 19: 85 c0 test %eax,%eax 1b: 75 1d jne 0x3a 1d: 45 31 c9 xor %r9d,%r9d 20: 45 31 c0 xor %r8d,%r8d 23: b8 2c 00 00 00 mov $0x2c,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 68 ja 0x9a 32: c3 ret 33: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 3a: 41 54 push %r12 3c: 48 83 ec 20 sub $0x20,%rsp Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 68 ja 0x70 8: c3 ret 9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 10: 41 54 push %r12 12: 48 83 ec 20 sub $0x20,%rsp [ 658.510025][ T8746] RSP: 002b:00007ffe8f5a4288 EFLAGS: 00000246 ORIG_RAX: 000000000000002c [ 658.510238][ T8746] RAX: ffffffffffffffda RBX: 0000000000495540 RCX: 00007fee77e72700 [ 658.510455][ T8746] RDX: 0000000000000098 RSI: 00007ffe8f5a4290 RDI: 0000000000000005 [ 658.510672][ T8746] RBP: 00007ffe8f5a4290 R08: 0000000000000000 R09: 0000000000000000 [ 658.510885][ T8746] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff Finger prints: __nh_valid_dump_req:nh_valid_dump_bucket_req:rtm_dump_nexthop_bucket:netlink_dump