syzbot


KASAN: null-ptr-deref Read in tcf_idrinfo_destroy

Status: premoderation: reported on 2025/12/27 14:00
Reported-by: syzbot+4e6b375783861a5935a1@syzkaller.appspotmail.com
First crash: 36d, last: 19d
Similar bugs (3)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-54 KASAN: null-ptr-deref Read in tcf_idrinfo_destroy 11 C 11829 251d 998d 0/2 upstream: reported C repro on 2023/05/10 22:23
upstream KASAN: null-ptr-deref Read in tcf_idrinfo_destroy net 11 C 115 1762d 1952d 20/29 fixed on 2021/04/09 19:46
upstream BUG: unable to handle kernel paging request in tcf_idrinfo_destroy net 8 1 54d 50d 27/29 upstream: reported on 2025/12/13 15:35

Sample crash report:
device veth1_macvtap left promiscuous mode
device veth1_macvtap left promiscuous mode
device veth1_macvtap left promiscuous mode
device veth0_vlan left promiscuous mode
==================================================================
BUG: KASAN: null-ptr-deref in instrument_atomic_read include/linux/instrumented.h:72 [inline]
BUG: KASAN: null-ptr-deref in atomic_read include/linux/atomic/atomic-instrumented.h:27 [inline]
BUG: KASAN: null-ptr-deref in __tcf_idr_release net/sched/act_api.c:416 [inline]
BUG: KASAN: null-ptr-deref in tcf_idrinfo_destroy+0xb9/0x220 net/sched/act_api.c:902
Read of size 4 at addr 0000000000000010 by task kworker/u4:21/18101

CPU: 1 PID: 18101 Comm: kworker/u4:21 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Workqueue: netns cleanup_net
Call Trace:
 <TASK>
 __dump_stack+0x21/0x24 lib/dump_stack.c:88
 dump_stack_lvl+0xee/0x150 lib/dump_stack.c:106
 print_report+0x3d/0x60 mm/kasan/report.c:423
 kasan_report+0x122/0x150 mm/kasan/report.c:524
 check_region_inline mm/kasan/generic.c:-1 [inline]
 kasan_check_range+0x280/0x290 mm/kasan/generic.c:189
 __kasan_check_read+0x11/0x20 mm/kasan/shadow.c:31
 instrument_atomic_read include/linux/instrumented.h:72 [inline]
 atomic_read include/linux/atomic/atomic-instrumented.h:27 [inline]
 __tcf_idr_release net/sched/act_api.c:416 [inline]
 tcf_idrinfo_destroy+0xb9/0x220 net/sched/act_api.c:902
 tc_action_net_exit include/net/act_api.h:175 [inline]
 gact_exit_net+0xe3/0x150 net/sched/act_gact.c:307
 ops_exit_list net/core/net_namespace.c:177 [inline]
 cleanup_net+0x62d/0xb00 net/core/net_namespace.c:604
 process_one_work+0x71f/0xc40 kernel/workqueue.c:2302
 worker_thread+0xa29/0x11f0 kernel/workqueue.c:2449
 kthread+0x281/0x320 kernel/kthread.c:386
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
==================================================================
general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
CPU: 0 PID: 18101 Comm: kworker/u4:21 Tainted: G    B              syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Workqueue: netns cleanup_net
RIP: 0010:arch_atomic_read arch/x86/include/asm/atomic.h:29 [inline]
RIP: 0010:atomic_read include/linux/atomic/atomic-instrumented.h:28 [inline]
RIP: 0010:__tcf_idr_release net/sched/act_api.c:416 [inline]
RIP: 0010:tcf_idrinfo_destroy+0xc0/0x220 net/sched/act_api.c:902
Code: 40 e8 24 13 de 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 c7 e8 b1 fd 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:ffffc90000d47b60 EFLAGS: 00010202
RAX: 0000000000000002 RBX: ffff88813b1372b0 RCX: ffff888114759440
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90000d47c08 R08: dffffc0000000000 R09: fffffbfff0f2d8fd
R10: fffffbfff0f2d8fd R11: 1ffffffff0f2d8fc R12: fffffffffffffff0
R13: 0000000000000010 R14: ffffffff875a9230 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b30063fff CR3: 0000000006e0f000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 tc_action_net_exit include/net/act_api.h:175 [inline]
 gact_exit_net+0xe3/0x150 net/sched/act_gact.c:307
 ops_exit_list net/core/net_namespace.c:177 [inline]
 cleanup_net+0x62d/0xb00 net/core/net_namespace.c:604
 process_one_work+0x71f/0xc40 kernel/workqueue.c:2302
 worker_thread+0xa29/0x11f0 kernel/workqueue.c:2449
 kthread+0x281/0x320 kernel/kthread.c:386
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:arch_atomic_read arch/x86/include/asm/atomic.h:29 [inline]
RIP: 0010:atomic_read include/linux/atomic/atomic-instrumented.h:28 [inline]
RIP: 0010:__tcf_idr_release net/sched/act_api.c:416 [inline]
RIP: 0010:tcf_idrinfo_destroy+0xc0/0x220 net/sched/act_api.c:902
Code: 40 e8 24 13 de 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 c7 e8 b1 fd 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:ffffc90000d47b60 EFLAGS: 00010202
RAX: 0000000000000002 RBX: ffff88813b1372b0 RCX: ffff888114759440
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90000d47c08 R08: dffffc0000000000 R09: fffffbfff0f2d8fd
R10: fffffbfff0f2d8fd R11: 1ffffffff0f2d8fc R12: fffffffffffffff0
R13: 0000000000000010 R14: ffffffff875a9230 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b30063fff CR3: 0000000006e0f000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	40 e8 24 13 de 00    	rex call 0xde132a
   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 c7 e8 b1 fd       	call   0xfdb1e8ea
  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

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/01/13 11:58 android14-6.1 4472ce9a8930 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: null-ptr-deref Read in tcf_idrinfo_destroy
2026/01/08 12:10 android14-6.1 524f9ed7e312 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: null-ptr-deref Read in tcf_idrinfo_destroy
2026/01/01 01:28 android14-6.1 5e6db7045704 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: null-ptr-deref Read in tcf_idrinfo_destroy
2025/12/27 16:24 android14-6.1 5e6db7045704 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: null-ptr-deref Read in tcf_idrinfo_destroy
2025/12/27 13:59 android14-6.1 5e6db7045704 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: null-ptr-deref Read in tcf_idrinfo_destroy
* Struck through repros no longer work on HEAD.