====================================== | [ 1869.443479][T23565] ================================================================== | [ 1869.443669][T23565] BUG: KASAN: slab-use-after-free in rtnl_fill_prop_list (net/core/rtnetlink.c:1949 (discriminator 12) net/core/rtnetlink.c:1970 (discriminator 12)) | [ 1869.443801][T23565] Read of size 8 at addr ff1100000274b550 by task (udev-worker)/23565 | [ 1869.443924][T23565] [ 1869.443979][T23565] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1869.443980][T23565] Call Trace: [ 1869.443982][T23565] [ 1869.443983][T23565] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 1869.443990][T23565] print_address_description.constprop.0 (mm/kasan/report.c:378) [ 1869.443995][T23565] print_report (mm/kasan/report.c:482) [ 1869.443997][T23565] ? __virt_addr_valid (./include/linux/rcupdate.h:937 ./include/linux/mmzone.h:2281 arch/x86/mm/physaddr.c:54) [ 1869.444000][T23565] ? __virt_addr_valid (./include/linux/rcupdate.h:963 (discriminator 1) ./include/linux/mmzone.h:2291 (discriminator 1) arch/x86/mm/physaddr.c:54 (discriminator 1)) [ 1869.444002][T23565] kasan_report (mm/kasan/report.c:595) [ 1869.444006][T23565] ? rtnl_fill_prop_list (net/core/rtnetlink.c:1949 (discriminator 12) net/core/rtnetlink.c:1970 (discriminator 12)) [ 1869.444007][T23565] ? rtnl_fill_prop_list (net/core/rtnetlink.c:1949 (discriminator 12) net/core/rtnetlink.c:1970 (discriminator 12)) [ 1869.444009][T23565] rtnl_fill_prop_list (net/core/rtnetlink.c:1949 (discriminator 12) net/core/rtnetlink.c:1970 (discriminator 12)) [ 1869.444011][T23565] ? __asan_memcpy (mm/kasan/shadow.c:106 (discriminator 1)) [ 1869.444013][T23565] rtnl_fill_ifinfo.isra.0 (net/core/rtnetlink.c:2088) [ 1869.444015][T23565] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 1869.444018][T23565] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 1869.444021][T23565] ? rtnl_fill_vf (./include/linux/skbuff.h:2720) [ 1869.444022][T23565] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 1869.444023][T23565] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1869.444026][T23565] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 1869.444028][T23565] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1869.444030][T23565] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1869.444033][T23565] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1869.444034][T23565] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 1869.444036][T23565] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 1869.444037][T23565] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1869.444038][T23565] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 1869.444041][T23565] rtnl_getlink (net/core/rtnetlink.c:4267) [ 1869.444043][T23565] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1869.444045][T23565] ? rtnl_dump_ifinfo (net/core/rtnetlink.c:2504) [ 1869.444046][T23565] ? mark_usage (kernel/locking/lockdep.c:4674) [ 1869.444047][T23565] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1869.444049][T23565] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 1869.444055][T23565] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1869.444057][T23565] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1869.444059][T23565] ? mark_usage (kernel/locking/lockdep.c:4674) [ 1869.444060][T23565] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1869.444061][T23565] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 1869.444062][T23565] ? bpf_address_lookup (kernel/bpf/core.c:729) [ 1869.444066][T23565] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1869.444067][T23565] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1869.444069][T23565] ? rtnl_dump_ifinfo (net/core/rtnetlink.c:2504) [ 1869.444070][T23565] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1869.444072][T23565] ? rtnl_dump_ifinfo (net/core/rtnetlink.c:2504) [ 1869.444073][T23565] rtnetlink_rcv_msg (net/core/rtnetlink.c:7042) [ 1869.444075][T23565] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 1869.444076][T23565] ? rtnl_link_fill (./include/net/netlink.h:1107 (discriminator 1)) [ 1869.444077][T23565] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 1869.444080][T23565] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1869.444081][T23565] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1869.444083][T23565] netlink_rcv_skb (net/netlink/af_netlink.c:2563) [ 1869.444086][T23565] ? rtnl_link_fill (./include/net/netlink.h:1107 (discriminator 1)) [ 1869.444087][T23565] ? netlink_ack (./include/linux/skbuff.h:2720 ./include/net/netlink.h:1020 net/netlink/af_netlink.c:2513) [ 1869.444090][T23565] ? netlink_deliver_tap (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) ./include/net/netns/generic.h:48 (discriminator 2) net/netlink/af_netlink.c:334 (discriminator 2)) [ 1869.444092][T23565] ? netlink_deliver_tap (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) net/netlink/af_netlink.c:341 (discriminator 2)) [ 1869.444094][T23565] netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1345) [ 1869.444096][T23565] ? netlink_attachskb (./arch/x86/include/asm/bitops.h:202 (discriminator 1)) [ 1869.444098][T23565] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 1869.444100][T23565] netlink_sendmsg (net/netlink/af_netlink.c:1907) [ 1869.444102][T23565] ? netlink_unicast (./include/net/net_namespace.h:419 (discriminator 7)) [ 1869.444104][T23565] ? __might_fault (mm/memory.c:7324 (discriminator 5)) [ 1869.444107][T23565] ? __might_fault (mm/memory.c:7324 (discriminator 5)) [ 1869.444109][T23565] __sys_sendto (net/socket.c:787 (discriminator 4) net/socket.c:802 (discriminator 4) net/socket.c:2265 (discriminator 4)) [ 1869.444112][T23565] ? __ia32_sys_getpeername (net/socket.c:2219) [ 1869.444116][T23565] ? fput_close_sync (fs/file_table.c:615) [ 1869.444119][T23565] ? alloc_file_clone (fs/file_table.c:477) [ 1869.444121][T23565] __x64_sys_sendto (net/socket.c:2272 net/socket.c:2268 net/socket.c:2268) [ 1869.444122][T23565] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 1869.444125][T23565] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1869.444127][T23565] ? do_syscall_64 (./include/linux/entry-common.h:177 arch/x86/entry/syscall_64.c:89) [ 1869.444129][T23565] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 1869.444130][T23565] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1)) [ 1869.444132][T23565] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 1869.444133][T23565] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 1869.444136][T23565] RIP: 0033:0x7f2cd50fa08e [ 1869.444139][T23565] Code: 4d 89 d8 e8 94 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 c3 83 e2 39 83 fa 08 75 e7 e8 03 ff ff ff 0f 1f 00 f3 0f 1e fa All code ======== 0: 4d 89 d8 mov %r11,%r8 3: e8 94 bd 00 00 call 0xbd9c 8: 4c 8b 5d f8 mov -0x8(%rbp),%r11 c: 41 8b 93 08 03 00 00 mov 0x308(%r11),%edx 13: 59 pop %rcx 14: 5e pop %rsi 15: 48 83 f8 fc cmp $0xfffffffffffffffc,%rax 19: 74 11 je 0x2c 1b: c9 leave 1c: c3 ret 1d: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 24: 48 8b 45 10 mov 0x10(%rbp),%rax 28: 0f 05 syscall 2a:* c9 leave <-- trapping instruction 2b: c3 ret 2c: 83 e2 39 and $0x39,%edx 2f: 83 fa 08 cmp $0x8,%edx 32: 75 e7 jne 0x1b 34: e8 03 ff ff ff call 0xffffffffffffff3c 39: 0f 1f 00 nopl (%rax) 3c: f3 0f 1e fa endbr64 Code starting with the faulting instruction =========================================== 0: c9 leave 1: c3 ret 2: 83 e2 39 and $0x39,%edx 5: 83 fa 08 cmp $0x8,%edx 8: 75 e7 jne 0xfffffffffffffff1 a: e8 03 ff ff ff call 0xffffffffffffff12 f: 0f 1f 00 nopl (%rax) 12: f3 0f 1e fa endbr64 [ 1869.444141][T23565] RSP: 002b:00007ffe540030f0 EFLAGS: 00000202 ORIG_RAX: 000000000000002c [ 1869.444145][T23565] RAX: ffffffffffffffda RBX: 000055b878b54c60 RCX: 00007f2cd50fa08e [ 1869.444146][T23565] RDX: 0000000000000020 RSI: 000055b8789f9dc0 RDI: 0000000000000012 [ 1869.444147][T23565] RBP: 00007ffe54003100 R08: 00007ffe54003150 R09: 0000000000000080 [ 1869.444148][T23565] R10: 0000000000000000 R11: 0000000000000202 R12: 000055b878b78c60 Finger prints: print_report:kasan_report:rtnl_fill_prop_list:rtnl_getlink:rtnetlink_rcv_msg