====================================== | [ 23.392061][ T348] ================================================================== | [ 23.392578][ T348] 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.393001][ T348] Write of size 8 at addr 0000000000000000 by task ip/348 | [ 23.393285][ T348] [ 23.393402][ T348] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 23.393404][ T348] Call Trace: [ 23.393406][ T348] [ 23.393408][ T348] dump_stack_lvl (lib/dump_stack.c:123) [ 23.393416][ T348] ? try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 23.393420][ T348] kasan_report (mm/kasan/report.c:597) [ 23.393425][ T348] ? try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 23.393430][ T348] kasan_check_range (mm/kasan/generic.c:194 mm/kasan/generic.c:200) [ 23.393434][ T348] try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 23.393436][ T348] ? lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 23.393443][ T348] __cancel_work (kernel/workqueue.c:2161 kernel/workqueue.c:4364) [ 23.393447][ T348] ? enable_delayed_work (kernel/workqueue.c:4359) [ 23.393450][ T348] ? 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.393456][ T348] ? 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.393460][ T348] __cancel_work_sync (kernel/workqueue.c:4383) [ 23.393464][ T348] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 23.393470][ T348] ? netdev_notify_peers (net/core/dev.c:1891) [ 23.393474][ T348] ? __local_bh_enable_ip (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 kernel/softirq.c:455) [ 23.393479][ T348] __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.393483][ T348] ? netif_set_allmulti (net/core/dev.c:9890) [ 23.393489][ T348] netif_change_flags (net/core/dev.c:9989) [ 23.393493][ T348] dev_change_flags (./include/net/netdev_lock.h:30 ./include/net/netdev_lock.h:47 net/core/dev_api.c:69) [ 23.393497][ T348] cycle_netdev (drivers/net/vrf.c:1052) vrf [ 23.393503][ T348] vrf_add_slave (drivers/net/vrf.c:1083 drivers/net/vrf.c:1102) vrf [ 23.393508][ T348] do_set_master (./include/net/netdev_lock.h:30 ./include/net/netdev_lock.h:41 net/core/rtnetlink.c:2964) [ 23.393511][ T348] ? rtnl_configure_link (net/core/rtnetlink.c:3607) [ 23.393513][ T348] ? nla_strscpy (lib/nlattr.c:798) [ 23.393520][ T348] rtnl_newlink_create (net/core/rtnetlink.c:3855) [ 23.393524][ T348] ? rtnl_create_link (net/core/rtnetlink.c:3806) [ 23.393527][ T348] ? __dev_get_by_name (net/core/dev.c:865) [ 23.393529][ T348] ? rtnl_dev_get (net/core/rtnetlink.c:3419) [ 23.393534][ T348] ? rtnl_validate_mdb_entry_del_bulk (net/core/rtnetlink.c:3419) [ 23.393540][ T348] ? rtnl_newlink (net/core/rtnetlink.c:343 net/core/rtnetlink.c:4071) [ 23.393542][ T348] ? reacquire_held_locks (kernel/locking/lockdep.c:5385) [ 23.393548][ T348] __rtnl_newlink (net/core/rtnetlink.c:3957) [ 23.393555][ T348] rtnl_newlink (net/core/rtnetlink.c:351 net/core/rtnetlink.c:4073) [ 23.393560][ T348] ? __rtnl_newlink (net/core/rtnetlink.c:3963) [ 23.393567][ T348] ? rtnetlink_rcv_msg (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 net/core/rtnetlink.c:6956) [ 23.393569][ T348] ? __lock_release (kernel/locking/lockdep.c:5536) [ 23.393574][ T348] ? __rtnl_newlink (net/core/rtnetlink.c:3963) [ 23.393576][ T348] rtnetlink_rcv_msg (net/core/rtnetlink.c:6958) [ 23.393580][ T348] ? rtnl_port_fill (net/core/rtnetlink.c:6861) [ 23.393583][ T348] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 23.393590][ T348] netlink_rcv_skb (net/netlink/af_netlink.c:2550) [ 23.393594][ T348] ? rtnl_port_fill (net/core/rtnetlink.c:6861) [ 23.393597][ T348] ? netlink_ack (net/netlink/af_netlink.c:2527) [ 23.393604][ T348] ? netlink_deliver_tap (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 net/netlink/af_netlink.c:340) [ 23.393607][ T348] ? 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.393611][ T348] netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) [ 23.393615][ T348] ? netlink_attachskb (net/netlink/af_netlink.c:1329) [ 23.393619][ T348] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 23.393624][ T348] netlink_sendmsg (net/netlink/af_netlink.c:1894) [ 23.393629][ T348] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 23.393632][ T348] ? __import_iovec (lib/iov_iter.c:1346 lib/iov_iter.c:1361) [ 23.393637][ T348] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 23.393641][ T348] ____sys_sendmsg (net/socket.c:727 net/socket.c:742 net/socket.c:2630) [ 23.393645][ T348] ? get_timestamp.constprop.0 (net/socket.c:2576) [ 23.393648][ T348] ? __copy_msghdr (net/socket.c:2556) [ 23.393656][ T348] ___sys_sendmsg (net/socket.c:2686) [ 23.393661][ T348] ? copy_msghdr_from_user (net/socket.c:2673) [ 23.393668][ T348] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 23.393675][ T348] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 23.393680][ T348] ? validate_chain (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876) [ 23.393692][ T348] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 23.393700][ T348] __sys_sendmsg (net/socket.c:2716) [ 23.393705][ T348] ? __sys_sendmsg_sock (net/socket.c:2701) [ 23.393710][ T348] ? __rseq_handle_notify_resume (kernel/rseq.c:442) [ 23.393721][ T348] ? do_user_addr_fault (./include/linux/mmap_lock.h:396 arch/x86/mm/fault.c:1415) [ 23.393730][ T348] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 23.393736][ T348] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 23.393744][ T348] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 23.393749][ T348] RIP: 0033:0x7f58215301d7 [ 23.393757][ T348] Code: Unable to access opcode bytes at 0x7f58215301ad. Code starting with the faulting instruction =========================================== [ 23.393759][ T348] RSP: 002b:00007fffaffb25f8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 23.393763][ T348] RAX: ffffffffffffffda RBX: 00007fffaffb2d20 RCX: 00007f58215301d7 [ 23.393765][ T348] RDX: 0000000000000000 RSI: 00007fffaffb2660 RDI: 0000000000000005 [ 23.393767][ T348] RBP: 0000000000000002 R08: 0000000000000054 R09: 0000000000000000 [ 23.393769][ T348] R10: 00007f58215beac0 R11: 0000000000000246 R12: 00007fffaffb2d68 [ 23.393771][ T348] R13: 00000000691cc611 R14: 0000000000499600 R15: 00007fffaffb2758 | [ 23.415606][ T348] #PF: error_code(0x0002) - not-present page | [ 23.415837][ T348] PGD 8d55067 P4D 8d55067 PUD a134067 PMD 0 | [ 23.416077][ T348] Oops: Oops: 0002 [#1] SMP KASAN | [ 23.416670][ T348] Tainted: [B]=BAD_PAGE [ 23.416830][ T348] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 23.417071][ T348] 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) [ 23.417324][ T348] 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 [ 23.418005][ T348] RSP: 0018:ffffc90000646ff8 EFLAGS: 00010046 [ 23.418253][ T348] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffffb584090a [ 23.418542][ T348] RDX: fffffbfff734f2cd RSI: 0000000000000008 RDI: ffffffffb9a79660 [ 23.418836][ T348] RBP: ffffc90000647060 R08: 0000000000000001 R09: fffffbfff734f2cc [ 23.419123][ T348] R10: ffffffffb9a79667 R11: ffffc90000646ac0 R12: 0000000000000000 [ 23.419431][ T348] R13: 0000000000000282 R14: ffff88800e0c9000 R15: dffffc0000000000 [ 23.419713][ T348] FS: 00007f5821362800(0000) GS:ffff888076df2000(0000) knlGS:0000000000000000 [ 23.420052][ T348] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 23.420289][ T348] CR2: 0000000000000000 CR3: 000000000fafe004 CR4: 0000000000772ef0 [ 23.420595][ T348] PKRU: 55555554 [ 23.420748][ T348] Call Trace: [ 23.420890][ T348] [ 23.420985][ T348] ? lock_acquire.part.0 (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) [ 23.421179][ T348] __cancel_work (kernel/workqueue.c:2161 kernel/workqueue.c:4364) [ 23.421370][ T348] ? enable_delayed_work (kernel/workqueue.c:4359) [ 23.421601][ T348] ? 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.421807][ T348] ? 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.422016][ T348] __cancel_work_sync (kernel/workqueue.c:4383) [ 23.422227][ T348] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 23.422419][ T348] ? netdev_notify_peers (net/core/dev.c:1891) [ 23.422732][ T348] ? __local_bh_enable_ip (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 kernel/softirq.c:455) [ 23.422936][ T348] __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.423132][ T348] ? netif_set_allmulti (net/core/dev.c:9890) [ 23.423327][ T348] netif_change_flags (net/core/dev.c:9989) [ 23.423647][ T348] dev_change_flags (./include/net/netdev_lock.h:30 ./include/net/netdev_lock.h:47 net/core/dev_api.c:69) [ 23.423850][ T348] cycle_netdev (drivers/net/vrf.c:1052) vrf [ 23.424040][ T348] vrf_add_slave (drivers/net/vrf.c:1083 drivers/net/vrf.c:1102) vrf [ 23.424228][ T348] do_set_master (./include/net/netdev_lock.h:30 ./include/net/netdev_lock.h:41 net/core/rtnetlink.c:2964) [ 23.424545][ T348] ? rtnl_configure_link (net/core/rtnetlink.c:3607) [ 23.424728][ T348] ? nla_strscpy (lib/nlattr.c:798) [ 23.424919][ T348] rtnl_newlink_create (net/core/rtnetlink.c:3855) [ 23.425122][ T348] ? rtnl_create_link (net/core/rtnetlink.c:3806) [ 23.425453][ T348] ? __dev_get_by_name (net/core/dev.c:865) [ 23.425676][ T348] ? rtnl_dev_get (net/core/rtnetlink.c:3419) [ 23.425863][ T348] ? rtnl_validate_mdb_entry_del_bulk (net/core/rtnetlink.c:3419) [ 23.426117][ T348] ? rtnl_newlink (net/core/rtnetlink.c:343 net/core/rtnetlink.c:4071) [ 23.426486][ T348] ? reacquire_held_locks (kernel/locking/lockdep.c:5385) [ 23.426692][ T348] __rtnl_newlink (net/core/rtnetlink.c:3957) [ 23.426892][ T348] rtnl_newlink (net/core/rtnetlink.c:351 net/core/rtnetlink.c:4073) [ 23.427095][ T348] ? __rtnl_newlink (net/core/rtnetlink.c:3963) [ 23.427438][ T348] ? rtnetlink_rcv_msg (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 net/core/rtnetlink.c:6956) [ 23.427633][ T348] ? __lock_release (kernel/locking/lockdep.c:5536) [ 23.427822][ T348] ? __rtnl_newlink (net/core/rtnetlink.c:3963) [ 23.428042][ T348] rtnetlink_rcv_msg (net/core/rtnetlink.c:6958) [ 23.428383][ T348] ? rtnl_port_fill (net/core/rtnetlink.c:6861) [ 23.428569][ T348] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 23.428771][ T348] netlink_rcv_skb (net/netlink/af_netlink.c:2550) [ 23.428957][ T348] ? rtnl_port_fill (net/core/rtnetlink.c:6861) [ 23.429281][ T348] ? netlink_ack (net/netlink/af_netlink.c:2527) [ 23.429474][ T348] ? netlink_deliver_tap (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 net/netlink/af_netlink.c:340) [ 23.429656][ T348] ? 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.429854][ T348] netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) [ 23.430160][ T348] ? netlink_attachskb (net/netlink/af_netlink.c:1329) [ 23.430357][ T348] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 23.430542][ T348] netlink_sendmsg (net/netlink/af_netlink.c:1894) [ 23.430737][ T348] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 23.431041][ T348] ? __import_iovec (lib/iov_iter.c:1346 lib/iov_iter.c:1361) [ 23.431228][ T348] ? netlink_unicast (net/netlink/af_netlink.c:1813) [ 23.431415][ T348] ____sys_sendmsg (net/socket.c:727 net/socket.c:742 net/socket.c:2630) [ 23.431626][ T348] ? get_timestamp.constprop.0 (net/socket.c:2576) [ 23.431984][ T348] ? __copy_msghdr (net/socket.c:2556) [ 23.432173][ T348] ___sys_sendmsg (net/socket.c:2686) [ 23.432366][ T348] ? copy_msghdr_from_user (net/socket.c:2673) [ 23.432559][ T348] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 23.432748][ T348] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 23.432932][ T348] ? validate_chain (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876) [ 23.433124][ T348] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 23.433447][ T348] __sys_sendmsg (net/socket.c:2716) [ 23.433633][ T348] ? __sys_sendmsg_sock (net/socket.c:2701) [ 23.433819][ T348] ? __rseq_handle_notify_resume (kernel/rseq.c:442) [ 23.434062][ T348] ? do_user_addr_fault (./include/linux/mmap_lock.h:396 arch/x86/mm/fault.c:1415) [ 23.434379][ T348] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 23.434567][ T348] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 23.434780][ T348] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 23.435029][ T348] RIP: 0033:0x7f58215301d7 [ 23.435372][ T348] Code: Unable to access opcode bytes at 0x7f58215301ad. Code starting with the faulting instruction =========================================== [ 23.435627][ T348] RSP: 002b:00007fffaffb25f8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 23.435929][ T348] RAX: ffffffffffffffda RBX: 00007fffaffb2d20 RCX: 00007f58215301d7 [ 23.436336][ T348] RDX: 0000000000000000 RSI: 00007fffaffb2660 RDI: 0000000000000005 [ 23.436613][ T348] RBP: 0000000000000002 R08: 0000000000000054 R09: 0000000000000000 [ 23.436905][ T348] R10: 00007f58215beac0 R11: 0000000000000246 R12: 00007fffaffb2d68 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