====================================== | [ 634.579671] #PF: supervisor read access in kernel mode | [ 634.579700] #PF: error_code(0x0000) - not-present page | [ 634.579734] PGD 1b2a067 P4D 1b2a067 PUD 2355067 PMD 0 | [ 634.579766] Oops: 0000 [#1] PREEMPT SMP NOPTI [ 634.579841] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 634.579910] RIP: 0010:nh_valid_get_del_req (./include/net/netlink.h:1680 net/ipv4/nexthop.c:3235) [ 634.579946] Code: 11 00 75 47 8b 47 14 85 c0 75 40 48 8b 46 08 48 85 c0 0f 84 81 00 00 00 8b 40 04 89 02 85 c0 74 51 48 8b 46 70 48 85 c0 74 10 <8b> 40 04 89 01 31 c0 48 83 c4 08 c3 cc cc cc cc c7 01 00 00 00 00 All code ======== 0: 11 00 adc %eax,(%rax) 2: 75 47 jne 0x4b 4: 8b 47 14 mov 0x14(%rdi),%eax 7: 85 c0 test %eax,%eax 9: 75 40 jne 0x4b b: 48 8b 46 08 mov 0x8(%rsi),%rax f: 48 85 c0 test %rax,%rax 12: 0f 84 81 00 00 00 je 0x99 18: 8b 40 04 mov 0x4(%rax),%eax 1b: 89 02 mov %eax,(%rdx) 1d: 85 c0 test %eax,%eax 1f: 74 51 je 0x72 21: 48 8b 46 70 mov 0x70(%rsi),%rax 25: 48 85 c0 test %rax,%rax 28: 74 10 je 0x3a 2a:* 8b 40 04 mov 0x4(%rax),%eax <-- trapping instruction 2d: 89 01 mov %eax,(%rcx) 2f: 31 c0 xor %eax,%eax 31: 48 83 c4 08 add $0x8,%rsp 35: c3 ret 36: cc int3 37: cc int3 38: cc int3 39: cc int3 3a: c7 01 00 00 00 00 movl $0x0,(%rcx) Code starting with the faulting instruction =========================================== 0: 8b 40 04 mov 0x4(%rax),%eax 3: 89 01 mov %eax,(%rcx) 5: 31 c0 xor %eax,%eax 7: 48 83 c4 08 add $0x8,%rsp b: c3 ret c: cc int3 d: cc int3 e: cc int3 f: cc int3 10: c7 01 00 00 00 00 movl $0x0,(%rcx) [ 634.580043] RSP: 0018:ffffad1ac078b9d8 EFLAGS: 00010202 [ 634.580074] RAX: 0000000000000246 RBX: ffffad1ac078bb58 RCX: ffffad1ac078b9e8 [ 634.580118] RDX: ffffad1ac078b9ec RSI: ffffad1ac078ba08 RDI: ffff8c2d0507ad00 [ 634.580162] RBP: ffff8c2d03dc8f80 R08: ffffad1ac078bb58 R09: ffffad1ac078bb58 [ 634.580207] R10: ffffad1ac078ba08 R11: 0000000000000002 R12: 0000000000000000 [ 634.580251] R13: ffff8c2d0507ad00 R14: 0000000000000000 R15: 0000000000000000 [ 634.580296] FS: 00007f612dd0cc40(0000) GS:ffff8c2d3ed80000(0000) knlGS:0000000000000000 [ 634.580339] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 634.580375] CR2: 000000000000024a CR3: 0000000003df8001 CR4: 0000000000770ef0 [ 634.580421] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 634.580464] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 634.580508] PKRU: 55555554 [ 634.580526] Call Trace: [ 634.580546] [ 634.580565] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [ 634.580595] ? page_fault_oops (arch/x86/mm/fault.c:707) [ 634.580623] ? radix_tree_node_alloc.constprop.0 (lib/radix-tree.c:255) [ 634.580658] ? exc_page_fault (./arch/x86/include/asm/irqflags.h:37 ./arch/x86/include/asm/irqflags.h:72 arch/x86/mm/fault.c:1506 arch/x86/mm/fault.c:1554) [ 634.580686] ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:570) [ 634.580716] ? nh_valid_get_del_req (./include/net/netlink.h:1680 net/ipv4/nexthop.c:3235) [ 634.580748] ? rtm_del_nexthop (./include/net/netlink.h:756 ./include/net/netlink.h:777 net/ipv4/nexthop.c:3258) [ 634.580773] rtm_del_nexthop (net/ipv4/nexthop.c:3264) [ 634.580801] ? skb_queue_tail (./include/linux/spinlock.h:406 net/core/skbuff.c:3975) [ 634.580830] rtnetlink_rcv_msg (net/core/rtnetlink.c:6595) [ 634.580863] ? netlink_dump (net/netlink/af_netlink.c:2324 (discriminator 2)) [ 634.580897] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6489) [ 634.580937] netlink_rcv_skb (net/netlink/af_netlink.c:2559) [ 634.580972] netlink_unicast (net/netlink/af_netlink.c:1335 net/netlink/af_netlink.c:1361) [ 634.581000] netlink_sendmsg (net/netlink/af_netlink.c:1905) [ 634.581024] ____sys_sendmsg (net/socket.c:730 net/socket.c:745 net/socket.c:2584) [ 634.581053] ? copy_msghdr_from_user (net/socket.c:2524) [ 634.581085] ___sys_sendmsg (net/socket.c:2640) [ 634.581111] ? ___sys_recvmsg (net/socket.c:2848) [ 634.581135] ? __handle_mm_fault (./include/linux/pgtable.h:114 mm/memory.c:4353 mm/memory.c:3743 mm/memory.c:5164 mm/memory.c:5305) [ 634.581170] __sys_sendmsg (./include/linux/file.h:32 net/socket.c:2669) [ 634.581196] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 634.581227] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:129) [ 634.581264] RIP: 0033:0x7f612df157b7 [ 634.581289] Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 All code ======== 0: 0a 00 or (%rax),%al 2: f7 d8 neg %eax 4: 64 89 02 mov %eax,%fs:(%rdx) 7: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax e: eb b9 jmp 0xffffffffffffffc9 10: 0f 1f 00 nopl (%rax) 13: f3 0f 1e fa endbr64 17: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 1e: 00 1f: 85 c0 test %eax,%eax 21: 75 10 jne 0x33 23: b8 2e 00 00 00 mov $0x2e,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 51 ja 0x83 32: c3 ret 33: 48 83 ec 28 sub $0x28,%rsp 37: 89 54 24 1c mov %edx,0x1c(%rsp) 3b: 48 89 74 24 10 mov %rsi,0x10(%rsp) Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 51 ja 0x59 8: c3 ret 9: 48 83 ec 28 sub $0x28,%rsp d: 89 54 24 1c mov %edx,0x1c(%rsp) 11: 48 89 74 24 10 mov %rsi,0x10(%rsp) [ 634.581386] RSP: 002b:00007ffd50174918 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 634.581430] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f612df157b7 [ 634.581474] RDX: 0000000000000000 RSI: 00007ffd50174980 RDI: 0000000000000006 [ 634.581518] RBP: 00007ffd50174c18 R08: 0000000000000004 R09: 0000000000000078 [ 634.581563] R10: 00007f612ddce708 R11: 0000000000000246 R12: 0000000000495540 Finger prints: nh_valid_get_del_req:rtm_del_nexthop:rtnetlink_rcv_msg:netlink_rcv_skb