==================================================================
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:5/2996

CPU: 1 PID: 2996 Comm: kworker/u4:5 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: 0 PID: 2996 Comm: kworker/u4:5 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:ffff8881e2447b60 EFLAGS: 00010202
RAX: 0000000000000002 RBX: ffff8881ce1f99a0 RCX: ffff8881df4f0000
RDX: 0000000000000000 RSI: 0000000000000003 RDI: 00000000ffffffff
RBP: ffff8881e2447c08 R08: 0000000000000004 R09: 0000000000000003
R10: fffffbfff0ca7a5c R11: 1ffffffff0ca7a5c R12: fffffffffffffff0
R13: 0000000000000010 R14: ffffffff861b59f0 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd2b748ff8 CR3: 00000001e54d9000 CR4: 00000000003406b0
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 8547523c5ade59dd ]---
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:ffff8881e2447b60 EFLAGS: 00010202
RAX: 0000000000000002 RBX: ffff8881ce1f99a0 RCX: ffff8881df4f0000
RDX: 0000000000000000 RSI: 0000000000000003 RDI: 00000000ffffffff
RBP: ffff8881e2447c08 R08: 0000000000000004 R09: 0000000000000003
R10: fffffbfff0ca7a5c R11: 1ffffffff0ca7a5c R12: fffffffffffffff0
R13: 0000000000000010 R14: ffffffff861b59f0 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd2b748ff8 CR3: 00000001ece6c000 CR4: 00000000003406b0
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