================================================================== BUG: KASAN: null-ptr-deref in atomic_read include/asm-generic/atomic-instrumented.h:26 [inline] BUG: KASAN: null-ptr-deref in __tcf_idr_release net/sched/act_api.c:162 [inline] BUG: KASAN: null-ptr-deref in tcf_idrinfo_destroy+0xb9/0x220 net/sched/act_api.c:561 Read of size 4 at addr 0000000000000010 by task kworker/u4:1/9 CPU: 1 PID: 9 Comm: kworker/u4:1 Tainted: G W 5.4.292-syzkaller-00021-gcd8e74fa0fa3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: netns cleanup_net Call Trace: __dump_stack+0x1e/0x20 lib/dump_stack.c:77 dump_stack+0x15b/0x1b8 lib/dump_stack.c:118 __kasan_report+0xe4/0x120 mm/kasan/report.c:520 kasan_report+0x30/0x60 mm/kasan/common.c:653 check_memory_region_inline mm/kasan/generic.c:141 [inline] check_memory_region+0x274/0x280 mm/kasan/generic.c:191 __kasan_check_read+0x11/0x20 mm/kasan/common.c:93 atomic_read include/asm-generic/atomic-instrumented.h:26 [inline] __tcf_idr_release net/sched/act_api.c:162 [inline] tcf_idrinfo_destroy+0xb9/0x220 net/sched/act_api.c:561 tc_action_net_exit include/net/act_api.h:145 [inline] police_exit_net+0xe3/0x150 net/sched/act_police.c:410 ops_exit_list net/core/net_namespace.c:187 [inline] cleanup_net+0x5fd/0xb40 net/core/net_namespace.c:612 process_one_work+0x73b/0xcc0 kernel/workqueue.c:2290 worker_thread+0xa5c/0x13b0 kernel/workqueue.c:2436 kthread+0x31e/0x3a0 kernel/kthread.c:288 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:354 ================================================================== kasan: CONFIG_KASAN_INLINE enabled kasan: GPF could be caused by NULL-ptr deref or user memory access general protection fault: 0000 [#1] PREEMPT SMP KASAN CPU: 1 PID: 9 Comm: kworker/u4:1 Tainted: G B W 5.4.292-syzkaller-00021-gcd8e74fa0fa3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: netns cleanup_net RIP: 0010:__read_once_size include/linux/compiler.h:268 [inline] RIP: 0010:arch_atomic_read arch/x86/include/asm/atomic.h:31 [inline] RIP: 0010:atomic_read include/asm-generic/atomic-instrumented.h:27 [inline] RIP: 0010:__tcf_idr_release net/sched/act_api.c:162 [inline] RIP: 0010:tcf_idrinfo_destroy+0xc0/0x220 net/sched/act_api.c:561 Code: 40 e8 b4 6b af 00 48 85 c0 0f 84 1a 01 00 00 49 89 c4 4c 8d 68 20 4c 89 ef be 04 00 00 00 e8 37 05 1b fe 4c 89 e8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 ba 00 00 00 45 8b 6d 00 31 ff 44 89 ee RSP: 0018:ffff8881f5dcfb60 EFLAGS: 00010202 RAX: 0000000000000002 RBX: ffff8881e044f7a0 RCX: ffff8881f5dc5e80 RDX: 0000000000000000 RSI: 0000000000000006 RDI: 00000000ffffffff RBP: ffff8881f5dcfc08 R08: 0000000000000004 R09: 0000000000000003 R10: fffffbfff0ca7a5c R11: 1ffffffff0ca7a5c R12: fffffffffffffff0 R13: 0000000000000010 R14: ffffffff861b59f0 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fbe7f25fab8 CR3: 00000001e7132000 CR4: 00000000003426a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: tc_action_net_exit include/net/act_api.h:145 [inline] police_exit_net+0xe3/0x150 net/sched/act_police.c:410 ops_exit_list net/core/net_namespace.c:187 [inline] cleanup_net+0x5fd/0xb40 net/core/net_namespace.c:612 process_one_work+0x73b/0xcc0 kernel/workqueue.c:2290 worker_thread+0xa5c/0x13b0 kernel/workqueue.c:2436 kthread+0x31e/0x3a0 kernel/kthread.c:288 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:354 Modules linked in: ---[ end trace 189c23eb9dad1012 ]--- RIP: 0010:__read_once_size include/linux/compiler.h:268 [inline] RIP: 0010:arch_atomic_read arch/x86/include/asm/atomic.h:31 [inline] RIP: 0010:atomic_read include/asm-generic/atomic-instrumented.h:27 [inline] RIP: 0010:__tcf_idr_release net/sched/act_api.c:162 [inline] RIP: 0010:tcf_idrinfo_destroy+0xc0/0x220 net/sched/act_api.c:561 Code: 40 e8 b4 6b af 00 48 85 c0 0f 84 1a 01 00 00 49 89 c4 4c 8d 68 20 4c 89 ef be 04 00 00 00 e8 37 05 1b fe 4c 89 e8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 ba 00 00 00 45 8b 6d 00 31 ff 44 89 ee RSP: 0018:ffff8881f5dcfb60 EFLAGS: 00010202 RAX: 0000000000000002 RBX: ffff8881e044f7a0 RCX: ffff8881f5dc5e80 RDX: 0000000000000000 RSI: 0000000000000006 RDI: 00000000ffffffff RBP: ffff8881f5dcfc08 R08: 0000000000000004 R09: 0000000000000003 R10: fffffbfff0ca7a5c R11: 1ffffffff0ca7a5c R12: fffffffffffffff0 R13: 0000000000000010 R14: ffffffff861b59f0 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffdfa50000 CR3: 00000001e6ab5000 CR4: 00000000003426a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: 40 e8 b4 6b af 00 rex call 0xaf6bba 6: 48 85 c0 test %rax,%rax 9: 0f 84 1a 01 00 00 je 0x129 f: 49 89 c4 mov %rax,%r12 12: 4c 8d 68 20 lea 0x20(%rax),%r13 16: 4c 89 ef mov %r13,%rdi 19: be 04 00 00 00 mov $0x4,%esi 1e: e8 37 05 1b fe call 0xfe1b055a 23: 4c 89 e8 mov %r13,%rax 26: 48 c1 e8 03 shr $0x3,%rax * 2a: 42 0f b6 04 38 movzbl (%rax,%r15,1),%eax <-- trapping instruction 2f: 84 c0 test %al,%al 31: 0f 85 ba 00 00 00 jne 0xf1 37: 45 8b 6d 00 mov 0x0(%r13),%r13d 3b: 31 ff xor %edi,%edi 3d: 44 89 ee mov %r13d,%esi