====================================== | [ 21.488508][ T255] ================================================================== | [ 21.488875][ T255] 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) | [ 21.489194][ T255] Write of size 8 at addr 0000000000000000 by task busy_poll_test./255 | [ 21.489502][ T255] [ 21.489613][ T255] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 21.489615][ T255] Call Trace: [ 21.489617][ T255] [ 21.489619][ T255] dump_stack_lvl (lib/dump_stack.c:123) [ 21.489629][ T255] ? try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 21.489632][ T255] kasan_report (mm/kasan/report.c:597) [ 21.489641][ T255] ? try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 21.489647][ T255] kasan_check_range (mm/kasan/generic.c:194 mm/kasan/generic.c:200) [ 21.489651][ T255] try_to_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072) [ 21.489654][ T255] ? page_pool_release (net/core/page_pool.c:1196) [ 21.489662][ T255] __cancel_work (kernel/workqueue.c:2161 kernel/workqueue.c:4364) [ 21.489665][ T255] ? enable_delayed_work (kernel/workqueue.c:4359) [ 21.489669][ T255] ? page_pool_release (net/core/page_pool.c:1196) [ 21.489672][ T255] ? page_pool_destroy (net/core/page_pool.c:1296) [ 21.489678][ T255] __cancel_work_sync (kernel/workqueue.c:4383) [ 21.489682][ T255] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 21.489689][ T255] ? netdev_notify_peers (net/core/dev.c:1891) [ 21.489692][ T255] ? __mutex_lock (./arch/x86/include/asm/preempt.h:104 kernel/locking/mutex.c:739 kernel/locking/mutex.c:760) [ 21.489702][ T255] netif_close_many (net/core/dev.c:1959) [ 21.489705][ T255] ? ww_mutex_lock (kernel/locking/mutex.c:759) [ 21.489709][ T255] ? __dev_close_many (net/core/dev.c:1949) [ 21.489712][ T255] ? validate_chain (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876) [ 21.489719][ T255] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 21.489731][ T255] netif_close_many_and_unlock (net/core/dev.c:12476) [ 21.489736][ T255] unregister_netdevice_many_notify (net/core/dev.c:12539) [ 21.489741][ T255] ? __mutex_handoff (kernel/locking/mutex.c:88) [ 21.489745][ T255] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 21.489753][ T255] ? dev_ingress_queue_create (net/core/dev.c:12499) [ 21.489757][ T255] ? __mutex_lock (./arch/x86/include/asm/preempt.h:104 kernel/locking/mutex.c:739 kernel/locking/mutex.c:760) [ 21.489760][ T255] ? __rtnl_unlock (net/core/rtnetlink.c:145 (discriminator 3)) [ 21.489766][ T255] ? nsim_destroy (drivers/net/netdevsim/netdev.c:1174) netdevsim [ 21.489781][ T255] ? ww_mutex_lock (kernel/locking/mutex.c:759) [ 21.489786][ T255] unregister_netdevice_queue (net/core/dev.c:12452) [ 21.489790][ T255] ? unregister_netdevice_many (net/core/dev.c:12441) [ 21.489797][ T255] nsim_destroy (drivers/net/netdevsim/netdev.c:1179 (discriminator 2)) netdevsim [ 21.489815][ T255] __nsim_dev_port_del (drivers/net/netdevsim/dev.c:443 drivers/net/netdevsim/dev.c:1528) netdevsim [ 21.489831][ T255] nsim_dev_reload_destroy (drivers/net/netdevsim/dev.c:1537 drivers/net/netdevsim/dev.c:1762) netdevsim [ 21.489843][ T255] nsim_drv_remove (drivers/net/netdevsim/dev.c:1779) netdevsim [ 21.489855][ T255] device_release_driver_internal (drivers/base/dd.c:1276 drivers/base/dd.c:1297) [ 21.489862][ T255] ? klist_put (lib/klist.c:220) [ 21.489867][ T255] bus_remove_device (./include/linux/kobject.h:193 drivers/base/base.h:73 drivers/base/bus.c:586) [ 21.489872][ T255] device_del (drivers/base/core.c:3879) [ 21.489876][ T255] ? __device_link_del (drivers/base/core.c:3833) [ 21.489881][ T255] device_unregister (drivers/base/core.c:3796 drivers/base/core.c:3920) [ 21.489884][ T255] del_device_store (drivers/net/netdevsim/bus.c:248) netdevsim [ 21.489897][ T255] ? nsim_bus_dev_numvfs_show (drivers/net/netdevsim/bus.c:215) netdevsim [ 21.489906][ T255] ? sysfs_file_kobj (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 ./include/linux/rcupdate.h:1195 fs/sysfs/file.c:24) [ 21.489912][ T255] ? sysfs_file_kobj (fs/sysfs/file.c:26) [ 21.489916][ T255] ? sysfs_file_ops (fs/sysfs/file.c:135) [ 21.489918][ T255] kernfs_fop_write_iter (fs/kernfs/file.c:88 fs/kernfs/file.c:356) [ 21.489922][ T255] vfs_write (fs/read_write.c:594 fs/read_write.c:686) [ 21.489928][ T255] ? kernel_write (fs/read_write.c:667) [ 21.489933][ T255] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 21.489940][ T255] ksys_write (fs/read_write.c:738) [ 21.489943][ T255] ? __ia32_sys_read (fs/read_write.c:728) [ 21.489949][ T255] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 21.489955][ T255] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 21.489959][ T255] RIP: 0033:0x7f7aa2322257 [ 21.489963][ T255] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 All code ======== 0: 0f 00 (bad) 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 b7 jmp 0xffffffffffffffc7 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 01 00 00 00 mov $0x1,%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: 48 89 54 24 18 mov %rdx,0x18(%rsp) 3c: 48 rex.W 3d: 89 .byte 0x89 3e: 74 24 je 0x64 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: 48 89 54 24 18 mov %rdx,0x18(%rsp) 12: 48 rex.W 13: 89 .byte 0x89 14: 74 24 je 0x3a [ 21.489965][ T255] RSP: 002b:00007ffcf9003138 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 21.489969][ T255] RAX: ffffffffffffffda RBX: 00007f7aa241e780 RCX: 00007f7aa2322257 [ 21.489971][ T255] RDX: 0000000000000004 RSI: 000055e1c8982bf0 RDI: 0000000000000001 [ 21.489973][ T255] RBP: 0000000000000004 R08: 0000000000000000 R09: 00007f7aa23d4d20 [ 21.489974][ T255] R10: 00007f7aa23d4c20 R11: 0000000000000246 R12: 0000000000000004 [ 21.489976][ T255] R13: 000055e1c8982bf0 R14: 0000000000000004 R15: 00007f7aa24199c0 | [ 21.505906][ T255] #PF: error_code(0x0002) - not-present page | [ 21.506144][ T255] PGD 0 P4D 0 | [ 21.506297][ T255] Oops: Oops: 0002 [#1] SMP KASAN | [ 21.506959][ T255] Tainted: [B]=BAD_PAGE [ 21.507108][ T255] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 21.507351][ T255] 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) [ 21.507609][ T255] 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 1f 93 82 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 1f 93 82 00 call 0x829349 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 [ 21.508325][ T255] RSP: 0018:ffffc90000c17510 EFLAGS: 00010046 [ 21.508572][ T255] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff84649b8a [ 21.508884][ T255] RDX: fffffbfff126cacd RSI: 0000000000000008 RDI: ffffffff89365660 [ 21.509199][ T255] RBP: ffffc90000c17578 R08: 0000000000000001 R09: fffffbfff126cacc [ 21.509494][ T255] R10: ffffffff89365667 R11: ffffc90000c17000 R12: 0000000000000000 [ 21.509787][ T255] R13: 0000000000000282 R14: ffff888005a82000 R15: dffffc0000000000 [ 21.510101][ T255] FS: 00007f7aa2222000(0000) GS:ffff8880e3d87000(0000) knlGS:0000000000000000 [ 21.510465][ T255] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 21.510708][ T255] CR2: 0000000000000000 CR3: 000000000a95b005 CR4: 0000000000772ef0 [ 21.511018][ T255] PKRU: 55555554 [ 21.511165][ T255] Call Trace: [ 21.511311][ T255] [ 21.511409][ T255] ? page_pool_release (net/core/page_pool.c:1196) [ 21.511613][ T255] __cancel_work (kernel/workqueue.c:2161 kernel/workqueue.c:4364) [ 21.511827][ T255] ? enable_delayed_work (kernel/workqueue.c:4359) [ 21.512023][ T255] ? page_pool_release (net/core/page_pool.c:1196) [ 21.512216][ T255] ? page_pool_destroy (net/core/page_pool.c:1296) [ 21.512412][ T255] __cancel_work_sync (kernel/workqueue.c:4383) [ 21.512607][ T255] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 21.512820][ T255] ? netdev_notify_peers (net/core/dev.c:1891) [ 21.513021][ T255] ? __mutex_lock (./arch/x86/include/asm/preempt.h:104 kernel/locking/mutex.c:739 kernel/locking/mutex.c:760) [ 21.513219][ T255] netif_close_many (net/core/dev.c:1959) [ 21.513411][ T255] ? ww_mutex_lock (kernel/locking/mutex.c:759) [ 21.513604][ T255] ? __dev_close_many (net/core/dev.c:1949) [ 21.513806][ T255] ? validate_chain (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876) [ 21.514008][ T255] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 21.514203][ T255] netif_close_many_and_unlock (net/core/dev.c:12476) [ 21.514397][ T255] unregister_netdevice_many_notify (net/core/dev.c:12539) [ 21.514644][ T255] ? __mutex_handoff (kernel/locking/mutex.c:88) [ 21.514860][ T255] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 21.515056][ T255] ? dev_ingress_queue_create (net/core/dev.c:12499) [ 21.515251][ T255] ? __mutex_lock (./arch/x86/include/asm/preempt.h:104 kernel/locking/mutex.c:739 kernel/locking/mutex.c:760) [ 21.515443][ T255] ? __rtnl_unlock (net/core/rtnetlink.c:145 (discriminator 3)) [ 21.515641][ T255] ? nsim_destroy (drivers/net/netdevsim/netdev.c:1174) netdevsim [ 21.515867][ T255] ? ww_mutex_lock (kernel/locking/mutex.c:759) [ 21.516069][ T255] unregister_netdevice_queue (net/core/dev.c:12452) [ 21.516263][ T255] ? unregister_netdevice_many (net/core/dev.c:12441) [ 21.516467][ T255] nsim_destroy (drivers/net/netdevsim/netdev.c:1179 (discriminator 2)) netdevsim [ 21.516671][ T255] __nsim_dev_port_del (drivers/net/netdevsim/dev.c:443 drivers/net/netdevsim/dev.c:1528) netdevsim [ 21.516933][ T255] nsim_dev_reload_destroy (drivers/net/netdevsim/dev.c:1537 drivers/net/netdevsim/dev.c:1762) netdevsim [ 21.517183][ T255] nsim_drv_remove (drivers/net/netdevsim/dev.c:1779) netdevsim [ 21.517409][ T255] device_release_driver_internal (drivers/base/dd.c:1276 drivers/base/dd.c:1297) [ 21.517657][ T255] ? klist_put (lib/klist.c:220) [ 21.517822][ T255] bus_remove_device (./include/linux/kobject.h:193 drivers/base/base.h:73 drivers/base/bus.c:586) [ 21.518050][ T255] device_del (drivers/base/core.c:3879) [ 21.518198][ T255] ? __device_link_del (drivers/base/core.c:3833) [ 21.518411][ T255] device_unregister (drivers/base/core.c:3796 drivers/base/core.c:3920) [ 21.518605][ T255] del_device_store (drivers/net/netdevsim/bus.c:248) netdevsim [ 21.518907][ T255] ? nsim_bus_dev_numvfs_show (drivers/net/netdevsim/bus.c:215) netdevsim [ 21.519161][ T255] ? sysfs_file_kobj (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:897 ./include/linux/rcupdate.h:1195 fs/sysfs/file.c:24) [ 21.519362][ T255] ? sysfs_file_kobj (fs/sysfs/file.c:26) [ 21.519573][ T255] ? sysfs_file_ops (fs/sysfs/file.c:135) [ 21.519773][ T255] kernfs_fop_write_iter (fs/kernfs/file.c:88 fs/kernfs/file.c:356) [ 21.519967][ T255] vfs_write (fs/read_write.c:594 fs/read_write.c:686) [ 21.520119][ T255] ? kernel_write (fs/read_write.c:667) [ 21.520314][ T255] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 21.520516][ T255] ksys_write (fs/read_write.c:738) [ 21.520661][ T255] ? __ia32_sys_read (fs/read_write.c:728) [ 21.520864][ T255] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 21.521059][ T255] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 21.521298][ T255] RIP: 0033:0x7f7aa2322257 [ 21.521501][ T255] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 All code ======== 0: 0f 00 (bad) 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 b7 jmp 0xffffffffffffffc7 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 01 00 00 00 mov $0x1,%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: 48 89 54 24 18 mov %rdx,0x18(%rsp) 3c: 48 rex.W 3d: 89 .byte 0x89 3e: 74 24 je 0x64 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: 48 89 54 24 18 mov %rdx,0x18(%rsp) 12: 48 rex.W 13: 89 .byte 0x89 14: 74 24 je 0x3a [ 21.522195][ T255] RSP: 002b:00007ffcf9003138 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 21.522488][ T255] RAX: ffffffffffffffda RBX: 00007f7aa241e780 RCX: 00007f7aa2322257 [ 21.522784][ T255] RDX: 0000000000000004 RSI: 000055e1c8982bf0 RDI: 0000000000000001 [ 21.523074][ T255] RBP: 0000000000000004 R08: 0000000000000000 R09: 00007f7aa23d4d20 [ 21.523370][ T255] R10: 00007f7aa23d4c20 R11: 0000000000000246 R12: 0000000000000004 Finger prints: kasan_report:kasan_check_range:try_to_grab_pending:__cancel_work:__cancel_work_sync try_to_grab_pending:__cancel_work:__cancel_work_sync:__dev_close_many:netif_close_many