====================================== | [ 858.666685][ T8262] ================================================================== | [ 858.667018][ T8262] BUG: KASAN: slab-use-after-free in neigh_flush_dev.isra.0 (net/core/neighbour.c:380) | [ 858.667231][ T8262] Read of size 8 at addr ffff8880068ae410 by task ip/8262 | [ 858.667407][ T8262] [ 858.667697][ T8262] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 858.668008][ T8262] Call Trace: [ 858.668122][ T8262] [ 858.668199][ T8262] dump_stack_lvl (lib/dump_stack.c:123) [ 858.668350][ T8262] print_address_description.constprop.0 (mm/kasan/report.c:378) [ 858.668532][ T8262] ? neigh_flush_dev.isra.0 (net/core/neighbour.c:380) [ 858.668670][ T8262] print_report (mm/kasan/report.c:489) [ 858.668811][ T8262] ? kasan_addr_to_slab (./include/linux/mm.h:1282 mm/kasan/../slab.h:206 mm/kasan/common.c:38) [ 858.668950][ T8262] kasan_report (mm/kasan/report.c:603) [ 858.669056][ T8262] ? neigh_flush_dev.isra.0 (net/core/neighbour.c:380) [ 858.669195][ T8262] neigh_flush_dev.isra.0 (net/core/neighbour.c:380) [ 858.669334][ T8262] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 858.669477][ T8262] __neigh_ifdown.isra.0 (net/core/neighbour.c:826 net/core/neighbour.c:426) [ 858.669618][ T8262] ? blocking_notifier_call_chain (kernel/notifier.c:388 kernel/notifier.c:376) [ 858.669792][ T8262] neigh_ifdown (net/core/neighbour.c:445) [ 858.669901][ T8262] fib_inetaddr_event (net/ipv4/fib_frontend.c:1431 net/ipv4/fib_frontend.c:1455) [ 858.670044][ T8262] notifier_call_chain (kernel/notifier.c:93 (discriminator 2)) [ 858.670190][ T8262] blocking_notifier_call_chain (kernel/notifier.c:389 kernel/notifier.c:376) [ 858.670328][ T8262] __inet_del_ifa (net/ipv4/devinet.c:488) [ 858.670469][ T8262] inet_rtm_deladdr (net/ipv4/devinet.c:706) [ 858.670611][ T8262] ? __pfx_inet_rtm_deladdr (net/ipv4/devinet.c:665) [ 858.670756][ T8262] rtnetlink_rcv_msg (net/core/rtnetlink.c:6721) [ 858.670898][ T8262] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 858.671035][ T8262] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 858.671173][ T8262] ? mark_lock (kernel/locking/lockdep.c:4703 (discriminator 3)) [ 858.671282][ T8262] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 858.671419][ T8262] netlink_rcv_skb (net/netlink/af_netlink.c:2551) [ 858.671558][ T8262] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 858.671695][ T8262] ? __pfx_netlink_rcv_skb (net/netlink/af_netlink.c:2528) [ 858.671843][ T8262] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 net/netlink/af_netlink.c:340) [ 858.671984][ T8262] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 858.672122][ T8262] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 858.672261][ T8262] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 858.672399][ T8262] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 858.672538][ T8262] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 858.672676][ T8262] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 858.672811][ T8262] ? __might_fault (mm/memory.c:6700 mm/memory.c:6693) [ 858.672958][ T8262] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 858.673103][ T8262] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 858.673242][ T8262] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 858.673381][ T8262] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 858.673553][ T8262] ___sys_sendmsg (net/socket.c:2663) [ 858.673689][ T8262] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 858.673827][ T8262] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 858.673962][ T8262] ? __pfx_validate_chain (kernel/locking/lockdep.c:3860) [ 858.674105][ T8262] ? __pfx_slab_free_after_rcu_debug (mm/slub.c:4609) [ 858.674280][ T8262] ? kasan_save_stack (mm/kasan/common.c:49) [ 858.674416][ T8262] ? kasan_save_stack (mm/kasan/common.c:48) [ 858.674551][ T8262] ? __kasan_record_aux_stack (mm/kasan/generic.c:541) [ 858.674686][ T8262] ? __call_rcu_common.constprop.0 (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:123 kernel/rcu/tree.c:3087) [ 858.674872][ T8262] ? __x64_sys_close (fs/open.c:1568 fs/open.c:1550 fs/open.c:1550) [ 858.675013][ T8262] ? do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 858.675154][ T8262] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 858.675329][ T8262] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 858.675468][ T8262] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 858.675605][ T8262] ? __lock_release (kernel/locking/lockdep.c:5501) [ 858.675741][ T8262] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 858.675849][ T8262] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 858.675986][ T8262] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 858.676121][ T8262] ? __virt_addr_valid (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:962 ./include/linux/mmzone.h:2053 arch/x86/mm/physaddr.c:65) [ 858.676267][ T8262] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 858.676404][ T8262] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 858.676577][ T8262] RIP: 0033:0x7f82564127b7 [ 858.676721][ T8262] 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) [ 858.677203][ T8262] RSP: 002b:00007fff93b38d48 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 858.677415][ T8262] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f82564127b7 [ 858.677621][ T8262] RDX: 0000000000000000 RSI: 00007fff93b38db0 RDI: 0000000000000005 [ 858.677825][ T8262] RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000000078 [ 858.678030][ T8262] R10: 00007f82562d0ef8 R11: 0000000000000246 R12: 00007fff93b39500 [ 858.678239][ T8262] R13: 0000000067168aa6 R14: 0000000000496600 R15: 00007fff93b39508 | [ 858.689865][ T8262] Disabling lock debugging due to kernel taint | [ 858.690065][ T8262] Oops: general protection fault, probably for non-canonical address 0xe0bf3c3b00000408: 0000 [#1] PREEMPT SMP KASAN NOPTI | [ 858.690397][ T8262] KASAN: maybe wild-memory-access in range [0x05fa01d800002040-0x05fa01d800002047] | [ 858.690861][ T8262] Tainted: [B]=BAD_PAGE [ 858.690966][ T8262] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 858.691260][ T8262] RIP: 0010:neigh_flush_dev.isra.0 (./include/linux/list.h:988 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 858.691435][ T8262] Code: 0f 85 ef 04 00 00 49 8d 7f 08 49 8b 1f 48 89 f8 48 c1 e8 03 42 80 3c 28 00 0f 85 cc 04 00 00 49 8b 6f 08 48 89 e8 48 c1 e8 03 <42> 80 3c 28 00 0f 85 19 05 00 00 48 89 5d 00 48 85 db 74 1a 48 8d All code ======== 0: 0f 85 ef 04 00 00 jne 0x4f5 6: 49 8d 7f 08 lea 0x8(%r15),%rdi a: 49 8b 1f mov (%r15),%rbx d: 48 89 f8 mov %rdi,%rax 10: 48 c1 e8 03 shr $0x3,%rax 14: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) 19: 0f 85 cc 04 00 00 jne 0x4eb 1f: 49 8b 6f 08 mov 0x8(%r15),%rbp 23: 48 89 e8 mov %rbp,%rax 26: 48 c1 e8 03 shr $0x3,%rax 2a:* 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) <-- trapping instruction 2f: 0f 85 19 05 00 00 jne 0x54e 35: 48 89 5d 00 mov %rbx,0x0(%rbp) 39: 48 85 db test %rbx,%rbx 3c: 74 1a je 0x58 3e: 48 rex.W 3f: 8d .byte 0x8d Code starting with the faulting instruction =========================================== 0: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) 5: 0f 85 19 05 00 00 jne 0x524 b: 48 89 5d 00 mov %rbx,0x0(%rbp) f: 48 85 db test %rbx,%rbx 12: 74 1a je 0x2e 14: 48 rex.W 15: 8d .byte 0x8d [ 858.691904][ T8262] RSP: 0018:ffffc900005ef388 EFLAGS: 00010203 [ 858.692077][ T8262] RAX: 00bf403b00000408 RBX: ffff88800e2f5cc0 RCX: ffffffff998c6ef0 [ 858.692276][ T8262] RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff8880068ae408 [ 858.692485][ T8262] RBP: 05fa01d800002044 R08: 0000000000000001 R09: fffffbfff39f7680 [ 858.692683][ T8262] R10: ffffffff9cfbb407 R11: 205d323632385420 R12: ffff8880068ae53c [ 858.692883][ T8262] R13: dffffc0000000000 R14: ffff888006231000 R15: ffff8880068ae400 [ 858.693084][ T8262] FS: 00007f8256206800(0000) GS:ffff888036180000(0000) knlGS:0000000000000000 [ 858.693320][ T8262] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 858.693493][ T8262] CR2: 00000000004e2d90 CR3: 00000000069fe004 CR4: 0000000000772ef0 [ 858.693693][ T8262] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 858.693891][ T8262] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 858.694092][ T8262] PKRU: 55555554 [ 858.694193][ T8262] Call Trace: [ 858.694294][ T8262] [ 858.694367][ T8262] ? die_addr (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:460) [ 858.694474][ T8262] ? exc_general_protection (arch/x86/kernel/traps.c:751 arch/x86/kernel/traps.c:693) [ 858.694610][ T8262] ? asm_exc_general_protection (./arch/x86/include/asm/idtentry.h:617) [ 858.694753][ T8262] ? neigh_flush_dev.isra.0 (./include/linux/list.h:986 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 858.694885][ T8262] ? neigh_flush_dev.isra.0 (./include/linux/list.h:988 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 858.695015][ T8262] ? neigh_flush_dev.isra.0 (./include/linux/list.h:986 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 858.695146][ T8262] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 858.695290][ T8262] __neigh_ifdown.isra.0 (net/core/neighbour.c:826 net/core/neighbour.c:426) [ 858.695426][ T8262] ? blocking_notifier_call_chain (kernel/notifier.c:388 kernel/notifier.c:376) [ 858.695594][ T8262] neigh_ifdown (net/core/neighbour.c:445) [ 858.695694][ T8262] fib_inetaddr_event (net/ipv4/fib_frontend.c:1431 net/ipv4/fib_frontend.c:1455) [ 858.695832][ T8262] notifier_call_chain (kernel/notifier.c:93 (discriminator 2)) [ 858.695967][ T8262] blocking_notifier_call_chain (kernel/notifier.c:389 kernel/notifier.c:376) [ 858.696102][ T8262] __inet_del_ifa (net/ipv4/devinet.c:488) [ 858.696241][ T8262] inet_rtm_deladdr (net/ipv4/devinet.c:706) [ 858.696377][ T8262] ? __pfx_inet_rtm_deladdr (net/ipv4/devinet.c:665) [ 858.696516][ T8262] rtnetlink_rcv_msg (net/core/rtnetlink.c:6721) [ 858.696651][ T8262] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 858.696784][ T8262] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 858.696920][ T8262] ? mark_lock (kernel/locking/lockdep.c:4703 (discriminator 3)) [ 858.697029][ T8262] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 858.697247][ T8262] netlink_rcv_skb (net/netlink/af_netlink.c:2551) [ 858.697464][ T8262] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 858.697686][ T8262] ? __pfx_netlink_rcv_skb (net/netlink/af_netlink.c:2528) [ 858.697924][ T8262] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 net/netlink/af_netlink.c:340) [ 858.698147][ T8262] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 858.698368][ T8262] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 858.698589][ T8262] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 858.698809][ T8262] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 858.699035][ T8262] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 858.699259][ T8262] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 858.699478][ T8262] ? __might_fault (mm/memory.c:6700 mm/memory.c:6693) [ 858.699706][ T8262] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 858.699933][ T8262] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 858.700156][ T8262] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 858.700376][ T8262] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 858.700656][ T8262] ___sys_sendmsg (net/socket.c:2663) [ 858.700877][ T8262] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 858.701069][ T8262] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 858.701201][ T8262] ? __pfx_validate_chain (kernel/locking/lockdep.c:3860) [ 858.701338][ T8262] ? __pfx_slab_free_after_rcu_debug (mm/slub.c:4609) [ 858.701505][ T8262] ? kasan_save_stack (mm/kasan/common.c:49) [ 858.701639][ T8262] ? kasan_save_stack (mm/kasan/common.c:48) [ 858.701770][ T8262] ? __kasan_record_aux_stack (mm/kasan/generic.c:541) [ 858.701902][ T8262] ? __call_rcu_common.constprop.0 (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:123 kernel/rcu/tree.c:3087) [ 858.702065][ T8262] ? __x64_sys_close (fs/open.c:1568 fs/open.c:1550 fs/open.c:1550) [ 858.702200][ T8262] ? do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 858.702334][ T8262] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 858.702504][ T8262] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 858.702644][ T8262] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 858.702778][ T8262] ? __lock_release (kernel/locking/lockdep.c:5501) [ 858.702910][ T8262] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 858.703012][ T8262] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 858.703145][ T8262] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 858.703277][ T8262] ? __virt_addr_valid (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:962 ./include/linux/mmzone.h:2053 arch/x86/mm/physaddr.c:65) [ 858.703416][ T8262] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 858.703553][ T8262] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 858.703720][ T8262] RIP: 0033:0x7f82564127b7 [ 858.703858][ T8262] 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) [ 858.704332][ T8262] RSP: 002b:00007fff93b38d48 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 858.704532][ T8262] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f82564127b7 [ 858.704740][ T8262] RDX: 0000000000000000 RSI: 00007fff93b38db0 RDI: 0000000000000005 [ 858.704950][ T8262] RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000000078 [ 858.705146][ T8262] R10: 00007f82562d0ef8 R11: 0000000000000246 R12: 00007fff93b39500 Finger prints: print_report:kasan_report:neigh_ifdown:fib_inetaddr_event:notifier_call_chain neigh_ifdown:fib_inetaddr_event:notifier_call_chain:blocking_notifier_call_chain:__inet_del_ifa