====================================== | [ 23.985230][ T346] ================================================================== | [ 23.985588][ T346] BUG: KASAN: null-ptr-deref in try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) | [ 23.985912][ T346] Write of size 8 at addr 0000000000000000 by task ip/346 | [ 23.986161][ T346] [ 23.986273][ T346] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 23.986275][ T346] Call Trace: [ 23.986277][ T346] [ 23.986280][ T346] dump_stack_lvl (lib/dump_stack.c:123) [ 23.986288][ T346] ? try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 23.986291][ T346] kasan_report (mm/kasan/report.c:597) [ 23.986299][ T346] ? try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 23.986304][ T346] kasan_check_range (mm/kasan/generic.c:194 mm/kasan/generic.c:200) [ 23.986308][ T346] try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 23.986312][ T346] ? lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 23.986319][ T346] __cancel_work (kernel/workqueue.c:2161 kernel/workqueue.c:4364) [ 23.986322][ T346] ? enable_delayed_work (kernel/workqueue.c:4359) [ 23.986326][ T346] ? linkwatch_urgent_event (./arch/x86/include/asm/bitops.h:202 ./arch/x86/include/asm/bitops.h:232 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 ./include/linux/netdevice.h:4040 net/core/link_watch.c:111) [ 23.986333][ T346] ? linkwatch_fire_event (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 net/core/link_watch.c:313) [ 23.986337][ T346] __cancel_work_sync (kernel/workqueue.c:4383) [ 23.986341][ T346] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 23.986349][ T346] ? netdev_notify_peers (net/core/dev.c:1891) [ 23.986353][ T346] ? __local_bh_enable_ip (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 kernel/softirq.c:455) [ 23.986360][ T346] __dev_change_flags (./include/linux/list.h:119 ./include/linux/list.h:223 ./include/linux/list.h:237 net/core/dev.c:1945 net/core/dev.c:9924) [ 23.986364][ T346] ? netif_set_allmulti (net/core/dev.c:9890) [ 23.986369][ T346] netif_change_flags (net/core/dev.c:9989) [ 23.986374][ T346] dev_change_flags (./include/net/netdev_lock.h:30 ./include/net/netdev_lock.h:47 net/core/dev_api.c:69) [ 23.986378][ T346] cycle_netdev (drivers/net/vrf.c:1052) vrf [ 23.986387][ T346] vrf_add_slave (drivers/net/vrf.c:1083 drivers/net/vrf.c:1102) vrf [ 23.986392][ T346] do_set_master (./include/net/netdev_lock.h:30 ./include/net/netdev_lock.h:41 net/core/rtnetlink.c:2964) [ 23.986395][ T346] ? rtnl_configure_link (net/core/rtnetlink.c:3607) [ 23.986397][ T346] ? nla_strscpy (lib/nlattr.c:798) [ 23.986404][ T346] rtnl_newlink_create (net/core/rtnetlink.c:3855) [ 23.986409][ T346] ? rtnl_create_link (net/core/rtnetlink.c:3806) [ 23.986411][ T346] ? __dev_get_by_name (net/core/dev.c:865) [ 23.986414][ T346] ? rtnl_dev_get (net/core/rtnetlink.c:3419) [ 23.986418][ T346] ? rtnl_validate_mdb_entry_del_bulk (net/core/rtnetlink.c:3419) [ 23.986425][ T346] ? rtnl_newlink (net/core/rtnetlink.c:343 net/core/rtnetlink.c:4071) [ 23.986427][ T346] ? reacquire_held_locks (kernel/locking/lockdep.c:5385) [ 23.986432][ T346] __rtnl_newlink (net/core/rtnetlink.c:3957) [ 23.986439][ T346] rtnl_newlink (net/core/rtnetlink.c:351 net/core/rtnetlink.c:4073) [ 23.986444][ T346] ? __rtnl_newlink (net/core/rtnetlink.c:3963) [ 23.986452][ T346] ? rtnetlink_rcv_msg (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 net/core/rtnetlink.c:6956) [ 23.986456][ T346] ? __lock_release (kernel/locking/lockdep.c:5536) [ 23.986463][ T346] ? __rtnl_newlink (net/core/rtnetlink.c:3963) [ 23.986468][ T346] rtnetlink_rcv_msg (net/core/rtnetlink.c:6958) [ 23.986475][ T346] ? rtnl_port_fill (net/core/rtnetlink.c:6861) [ 23.986480][ T346] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 23.986488][ T346] netlink_rcv_skb (net/netlink/af_netlink.c:2550) [ 23.986493][ T346] ? rtnl_port_fill (net/core/rtnetlink.c:6861) [ 23.986497][ T346] ? netlink_ack (net/netlink/af_netlink.c:2527) [ 23.986504][ T346] ? netlink_deliver_tap (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 net/netlink/af_netlink.c:340) [ 23.986507][ T346] ? netlink_deliver_tap (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 23.986511][ T346] netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) [ 23.986516][ T346] ? netlink_attachskb (net/netlink/af_netlink.c:1329) [ 23.986520][ T346] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 23.986525][ T346] netlink_sendmsg (net/netlink/af_netlink.c:1894) [ 23.986530][ T346] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 23.986534][ T346] ? __import_iovec (lib/iov_iter.c:1346 lib/iov_iter.c:1361) [ 23.986541][ T346] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 23.986545][ T346] ____sys_sendmsg (net/socket.c:727 net/socket.c:742 net/socket.c:2630) [ 23.986551][ T346] ? get_timestamp.constprop.0 (net/socket.c:2576) [ 23.986554][ T346] ? __copy_msghdr (net/socket.c:2556) [ 23.986562][ T346] ___sys_sendmsg (net/socket.c:2686) [ 23.986567][ T346] ? copy_msghdr_from_user (net/socket.c:2673) [ 23.986572][ T346] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 23.986580][ T346] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 23.986583][ T346] ? validate_chain (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876) [ 23.986592][ T346] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 23.986598][ T346] __sys_sendmsg (net/socket.c:2716) [ 23.986602][ T346] ? __sys_sendmsg_sock (net/socket.c:2701) [ 23.986605][ T346] ? __rseq_handle_notify_resume (kernel/rseq.c:442) [ 23.986615][ T346] ? do_user_addr_fault (./include/linux/mmap_lock.h:396 arch/x86/mm/fault.c:1415) [ 23.986622][ T346] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 23.986627][ T346] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 23.986634][ T346] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 23.986639][ T346] RIP: 0033:0x7f35666e81d7 [ 23.986649][ T346] Code: Unable to access opcode bytes at 0x7f35666e81ad. Code starting with the faulting instruction =========================================== [ 23.986651][ T346] RSP: 002b:00007ffc2f4f1d88 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 23.986655][ T346] RAX: ffffffffffffffda RBX: 00007ffc2f4f24b0 RCX: 00007f35666e81d7 [ 23.986657][ T346] RDX: 0000000000000000 RSI: 00007ffc2f4f1df0 RDI: 0000000000000005 [ 23.986659][ T346] RBP: 0000000000000002 R08: 0000000000000054 R09: 0000000000000000 [ 23.986661][ T346] R10: 00007f3566776ac0 R11: 0000000000000246 R12: 00007ffc2f4f24f8 [ 23.986663][ T346] R13: 00000000691cc550 R14: 0000000000499600 R15: 00007ffc2f4f1ee8 | [ 24.004905][ T346] #PF: error_code(0x0002) - not-present page | [ 24.005145][ T346] PGD 9045067 P4D 9045067 PUD 253f067 PMD 0 | [ 24.005397][ T346] Oops: Oops: 0002 [#1] SMP KASAN | [ 24.006036][ T346] Tainted: [B]=BAD_PAGE [ 24.006186][ T346] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 24.006442][ T346] RIP: 0010:try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 24.006703][ T346] Code: 00 41 89 c0 b8 01 00 00 00 45 85 c0 74 0f 48 83 c4 10 5b 5d 41 5c 41 5d 41 5e 41 5f c3 be 08 00 00 00 48 89 df e8 7f 7f 81 00 48 0f ba 2b 00 72 11 48 83 c4 10 31 c0 5b 5d 41 5c 41 5d 41 5e All code ======== 0: 00 41 89 add %al,-0x77(%rcx) 3: c0 b8 01 00 00 00 45 sarb $0x45,0x1(%rax) a: 85 c0 test %eax,%eax c: 74 0f je 0x1d e: 48 83 c4 10 add $0x10,%rsp 12: 5b pop %rbx 13: 5d pop %rbp 14: 41 5c pop %r12 16: 41 5d pop %r13 18: 41 5e pop %r14 1a: 41 5f pop %r15 1c: c3 ret 1d: be 08 00 00 00 mov $0x8,%esi 22: 48 89 df mov %rbx,%rdi 25: e8 7f 7f 81 00 call 0x817fa9 2a:* f0 48 0f ba 2b 00 lock btsq $0x0,(%rbx) <-- trapping instruction 30: 72 11 jb 0x43 32: 48 83 c4 10 add $0x10,%rsp 36: 31 c0 xor %eax,%eax 38: 5b pop %rbx 39: 5d pop %rbp 3a: 41 5c pop %r12 3c: 41 5d pop %r13 3e: 41 5e pop %r14 Code starting with the faulting instruction =========================================== 0: f0 48 0f ba 2b 00 lock btsq $0x0,(%rbx) 6: 72 11 jb 0x19 8: 48 83 c4 10 add $0x10,%rsp c: 31 c0 xor %eax,%eax e: 5b pop %rbx f: 5d pop %rbp 10: 41 5c pop %r12 12: 41 5d pop %r13 14: 41 5e pop %r14 [ 24.007432][ T346] RSP: 0018:ffffc900006c6ff8 EFLAGS: 00010046 [ 24.007704][ T346] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff8324090a [ 24.007998][ T346] RDX: fffffbfff0e8f2cd RSI: 0000000000000008 RDI: ffffffff87479660 [ 24.008299][ T346] RBP: ffffc900006c7060 R08: 0000000000000001 R09: fffffbfff0e8f2cc [ 24.008599][ T346] R10: ffffffff87479667 R11: ffffc900006c6ac0 R12: 0000000000000000 [ 24.008892][ T346] R13: 0000000000000282 R14: ffff888006f01000 R15: dffffc0000000000 [ 24.009183][ T346] FS: 00007f356651a800(0000) GS:ffff8880aef72000(0000) knlGS:0000000000000000 [ 24.009546][ T346] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 24.009790][ T346] CR2: 0000000000000000 CR3: 000000000e8fa004 CR4: 0000000000772ef0 [ 24.010082][ T346] PKRU: 55555554 [ 24.010228][ T346] Call Trace: [ 24.010376][ T346] [ 24.010477][ T346] ? lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 24.010678][ T346] __cancel_work (kernel/workqueue.c:2161 kernel/workqueue.c:4364) [ 24.010877][ T346] ? enable_delayed_work (kernel/workqueue.c:4359) [ 24.011071][ T346] ? linkwatch_urgent_event (./arch/x86/include/asm/bitops.h:202 ./arch/x86/include/asm/bitops.h:232 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 ./include/linux/netdevice.h:4040 net/core/link_watch.c:111) [ 24.011283][ T346] ? linkwatch_fire_event (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 net/core/link_watch.c:313) [ 24.011476][ T346] __cancel_work_sync (kernel/workqueue.c:4383) [ 24.011687][ T346] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 24.011882][ T346] ? netdev_notify_peers (net/core/dev.c:1891) [ 24.012079][ T346] ? __local_bh_enable_ip (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 kernel/softirq.c:455) [ 24.012291][ T346] __dev_change_flags (./include/linux/list.h:119 ./include/linux/list.h:223 ./include/linux/list.h:237 net/core/dev.c:1945 net/core/dev.c:9924) [ 24.012499][ T346] ? netif_set_allmulti (net/core/dev.c:9890) [ 24.012708][ T346] netif_change_flags (net/core/dev.c:9989) [ 24.012909][ T346] dev_change_flags (./include/net/netdev_lock.h:30 ./include/net/netdev_lock.h:47 net/core/dev_api.c:69) [ 24.013113][ T346] cycle_netdev (drivers/net/vrf.c:1052) vrf [ 24.013313][ T346] vrf_add_slave (drivers/net/vrf.c:1083 drivers/net/vrf.c:1102) vrf [ 24.013514][ T346] do_set_master (./include/net/netdev_lock.h:30 ./include/net/netdev_lock.h:41 net/core/rtnetlink.c:2964) [ 24.013722][ T346] ? rtnl_configure_link (net/core/rtnetlink.c:3607) [ 24.013920][ T346] ? nla_strscpy (lib/nlattr.c:798) [ 24.014123][ T346] rtnl_newlink_create (net/core/rtnetlink.c:3855) [ 24.014320][ T346] ? rtnl_create_link (net/core/rtnetlink.c:3806) [ 24.014515][ T346] ? __dev_get_by_name (net/core/dev.c:865) [ 24.014724][ T346] ? rtnl_dev_get (net/core/rtnetlink.c:3419) [ 24.014924][ T346] ? rtnl_validate_mdb_entry_del_bulk (net/core/rtnetlink.c:3419) [ 24.015186][ T346] ? rtnl_newlink (net/core/rtnetlink.c:343 net/core/rtnetlink.c:4071) [ 24.015394][ T346] ? reacquire_held_locks (kernel/locking/lockdep.c:5385) [ 24.015612][ T346] __rtnl_newlink (net/core/rtnetlink.c:3957) [ 24.015822][ T346] rtnl_newlink (net/core/rtnetlink.c:351 net/core/rtnetlink.c:4073) [ 24.016026][ T346] ? __rtnl_newlink (net/core/rtnetlink.c:3963) [ 24.016226][ T346] ? rtnetlink_rcv_msg (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 net/core/rtnetlink.c:6956) [ 24.016427][ T346] ? __lock_release (kernel/locking/lockdep.c:5536) [ 24.016625][ T346] ? __rtnl_newlink (net/core/rtnetlink.c:3963) [ 24.016819][ T346] rtnetlink_rcv_msg (net/core/rtnetlink.c:6958) [ 24.017021][ T346] ? rtnl_port_fill (net/core/rtnetlink.c:6861) [ 24.017218][ T346] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 24.017418][ T346] netlink_rcv_skb (net/netlink/af_netlink.c:2550) [ 24.017638][ T346] ? rtnl_port_fill (net/core/rtnetlink.c:6861) [ 24.017844][ T346] ? netlink_ack (net/netlink/af_netlink.c:2527) [ 24.018044][ T346] ? netlink_deliver_tap (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 net/netlink/af_netlink.c:340) [ 24.018250][ T346] ? netlink_deliver_tap (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 24.018448][ T346] netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) [ 24.018665][ T346] ? netlink_attachskb (net/netlink/af_netlink.c:1329) [ 24.018862][ T346] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 24.019059][ T346] netlink_sendmsg (net/netlink/af_netlink.c:1894) [ 24.019256][ T346] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 24.019456][ T346] ? __import_iovec (lib/iov_iter.c:1346 lib/iov_iter.c:1361) [ 24.019656][ T346] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 24.019853][ T346] ____sys_sendmsg (net/socket.c:727 net/socket.c:742 net/socket.c:2630) [ 24.020053][ T346] ? get_timestamp.constprop.0 (net/socket.c:2576) [ 24.020305][ T346] ? __copy_msghdr (net/socket.c:2556) [ 24.020504][ T346] ___sys_sendmsg (net/socket.c:2686) [ 24.020713][ T346] ? copy_msghdr_from_user (net/socket.c:2673) [ 24.020911][ T346] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 24.021110][ T346] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 24.021306][ T346] ? validate_chain (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876) [ 24.021507][ T346] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 24.021711][ T346] __sys_sendmsg (net/socket.c:2716) [ 24.021914][ T346] ? __sys_sendmsg_sock (net/socket.c:2701) [ 24.022114][ T346] ? __rseq_handle_notify_resume (kernel/rseq.c:442) [ 24.022372][ T346] ? do_user_addr_fault (./include/linux/mmap_lock.h:396 arch/x86/mm/fault.c:1415) [ 24.022571][ T346] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 24.022768][ T346] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 24.022971][ T346] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 24.023235][ T346] RIP: 0033:0x7f35666e81d7 [ 24.023448][ T346] Code: Unable to access opcode bytes at 0x7f35666e81ad. Code starting with the faulting instruction =========================================== [ 24.023701][ T346] RSP: 002b:00007ffc2f4f1d88 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 24.024000][ T346] RAX: ffffffffffffffda RBX: 00007ffc2f4f24b0 RCX: 00007f35666e81d7 [ 24.024296][ T346] RDX: 0000000000000000 RSI: 00007ffc2f4f1df0 RDI: 0000000000000005 [ 24.024600][ T346] RBP: 0000000000000002 R08: 0000000000000054 R09: 0000000000000000 [ 24.024893][ T346] R10: 00007f3566776ac0 R11: 0000000000000246 R12: 00007ffc2f4f24f8 Finger prints: try_to_grab_pending:__cancel_work:__cancel_work_sync:__dev_close_many:__dev_change_flags kasan_report:kasan_check_range:try_to_grab_pending:__cancel_work:__cancel_work_sync