==================================================================
BUG: KASAN: null-ptr-deref in instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
BUG: KASAN: null-ptr-deref in atomic_long_try_cmpxchg_acquire include/linux/atomic/atomic-instrumented.h:4456 [inline]
BUG: KASAN: null-ptr-deref in rwsem_write_trylock kernel/locking/rwsem.c:284 [inline]
BUG: KASAN: null-ptr-deref in __down_write_common kernel/locking/rwsem.c:1370 [inline]
BUG: KASAN: null-ptr-deref in __down_write kernel/locking/rwsem.c:1380 [inline]
BUG: KASAN: null-ptr-deref in down_write+0x83/0x2a0 kernel/locking/rwsem.c:1647
Write of size 8 at addr 0000000000000098 by task kworker/1:3/850
CPU: 1 UID: 0 PID: 850 Comm: kworker/1:3 Not tainted 6.12.23-syzkaller-gf9fbc66f8444 #0 b8de21ba31122219d6c6778e419c74a11adc861d
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Workqueue: events _RNvXs6_NtCs43vyB533jt3_6kernel9workqueueINtNtNtB7_4sync3arc3ArcNtNtCshgDM7dBCdno_11rust_binder7process7ProcessEINtB5_15WorkItemPointerKy0_E3runB13_
Call Trace:
__dump_stack+0x21/0x30 lib/dump_stack.c:94
dump_stack_lvl+0x10c/0x190 lib/dump_stack.c:120
print_report+0x3d/0x70 mm/kasan/report.c:491
kasan_report+0x163/0x1a0 mm/kasan/report.c:601
check_region_inline mm/kasan/generic.c:-1 [inline]
kasan_check_range+0x299/0x2a0 mm/kasan/generic.c:189
__kasan_check_write+0x18/0x20 mm/kasan/shadow.c:37
instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
atomic_long_try_cmpxchg_acquire include/linux/atomic/atomic-instrumented.h:4456 [inline]
rwsem_write_trylock kernel/locking/rwsem.c:284 [inline]
__down_write_common kernel/locking/rwsem.c:1370 [inline]
__down_write kernel/locking/rwsem.c:1380 [inline]
down_write+0x83/0x2a0 kernel/locking/rwsem.c:1647
inode_lock include/linux/fs.h:815 [inline]
rust_binderfs_remove_file+0x6c/0x110 drivers/android/binder/rust_binderfs.c:505
::drop drivers/android/binder/rust_binder.rs:627 [inline]
core::ptr::drop_in_place:: usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523 [inline]
core::ptr::drop_in_place::> usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523 [inline]
core::mem::drop::> usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/mem/mod.rs:935 [inline]
::deferred_release drivers/android/binder/process.rs:1286 [inline]
::run+0x9d4/0x2860 drivers/android/binder/process.rs:483
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0x7d2/0x1020 kernel/workqueue.c:3319
worker_thread+0xc58/0x1250 kernel/workqueue.c:3400
kthread+0x2c7/0x370 kernel/kthread.c:389
ret_from_fork+0x64/0xa0 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
==================================================================
BUG: kernel NULL pointer dereference, address: 0000000000000098
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 80000001159a0067 P4D 80000001159a0067 PUD 0
Oops: Oops: 0002 [#1] PREEMPT SMP KASAN PTI
CPU: 1 UID: 0 PID: 850 Comm: kworker/1:3 Tainted: G B 6.12.23-syzkaller-gf9fbc66f8444 #0 b8de21ba31122219d6c6778e419c74a11adc861d
Tainted: [B]=BAD_PAGE
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Workqueue: events _RNvXs6_NtCs43vyB533jt3_6kernel9workqueueINtNtNtB7_4sync3arc3ArcNtNtCshgDM7dBCdno_11rust_binder7process7ProcessEINtB5_15WorkItemPointerKy0_E3runB13_
RIP: 0010:arch_atomic64_try_cmpxchg arch/x86/include/asm/atomic64_64.h:101 [inline]
RIP: 0010:raw_atomic64_try_cmpxchg_acquire include/linux/atomic/atomic-arch-fallback.h:4296 [inline]
RIP: 0010:raw_atomic_long_try_cmpxchg_acquire include/linux/atomic/atomic-long.h:1482 [inline]
RIP: 0010:atomic_long_try_cmpxchg_acquire include/linux/atomic/atomic-instrumented.h:4458 [inline]
RIP: 0010:rwsem_write_trylock kernel/locking/rwsem.c:284 [inline]
RIP: 0010:__down_write_common kernel/locking/rwsem.c:1370 [inline]
RIP: 0010:__down_write kernel/locking/rwsem.c:1380 [inline]
RIP: 0010:down_write+0x9a/0x2a0 kernel/locking/rwsem.c:1647
Code: 48 c7 44 24 20 00 00 00 00 be 08 00 00 00 e8 2d 34 55 fc 4c 89 f7 be 08 00 00 00 e8 20 34 55 fc 48 8b 44 24 20 b9 01 00 00 00 48 0f b1 0b 0f 85 a0 00 00 00 48 c7 c0 c0 b9 20 87 48 c1 e8 03
RSP: 0018:ffffc900010ef500 EFLAGS: 00010256
RAX: 0000000000000000 RBX: 0000000000000098 RCX: 0000000000000001
RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffffc900010ef520
RBP: ffffc900010ef598 R08: ffffc900010ef527 R09: 1ffff9200021dea4
R10: dffffc0000000000 R11: fffff5200021dea5 R12: dffffc0000000000
R13: 1ffff9200021dea0 R14: ffffc900010ef520 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000098 CR3: 0000000104662000 CR4: 00000000003526b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
inode_lock include/linux/fs.h:815 [inline]
rust_binderfs_remove_file+0x6c/0x110 drivers/android/binder/rust_binderfs.c:505
::drop drivers/android/binder/rust_binder.rs:627 [inline]
core::ptr::drop_in_place:: usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523 [inline]
core::ptr::drop_in_place::> usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523 [inline]
core::mem::drop::> usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/mem/mod.rs:935 [inline]
::deferred_release drivers/android/binder/process.rs:1286 [inline]
::run+0x9d4/0x2860 drivers/android/binder/process.rs:483
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0x7d2/0x1020 kernel/workqueue.c:3319
worker_thread+0xc58/0x1250 kernel/workqueue.c:3400
kthread+0x2c7/0x370 kernel/kthread.c:389
ret_from_fork+0x64/0xa0 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
Modules linked in:
CR2: 0000000000000098
---[ end trace 0000000000000000 ]---
RIP: 0010:arch_atomic64_try_cmpxchg arch/x86/include/asm/atomic64_64.h:101 [inline]
RIP: 0010:raw_atomic64_try_cmpxchg_acquire include/linux/atomic/atomic-arch-fallback.h:4296 [inline]
RIP: 0010:raw_atomic_long_try_cmpxchg_acquire include/linux/atomic/atomic-long.h:1482 [inline]
RIP: 0010:atomic_long_try_cmpxchg_acquire include/linux/atomic/atomic-instrumented.h:4458 [inline]
RIP: 0010:rwsem_write_trylock kernel/locking/rwsem.c:284 [inline]
RIP: 0010:__down_write_common kernel/locking/rwsem.c:1370 [inline]
RIP: 0010:__down_write kernel/locking/rwsem.c:1380 [inline]
RIP: 0010:down_write+0x9a/0x2a0 kernel/locking/rwsem.c:1647
Code: 48 c7 44 24 20 00 00 00 00 be 08 00 00 00 e8 2d 34 55 fc 4c 89 f7 be 08 00 00 00 e8 20 34 55 fc 48 8b 44 24 20 b9 01 00 00 00 48 0f b1 0b 0f 85 a0 00 00 00 48 c7 c0 c0 b9 20 87 48 c1 e8 03
RSP: 0018:ffffc900010ef500 EFLAGS: 00010256
RAX: 0000000000000000 RBX: 0000000000000098 RCX: 0000000000000001
RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffffc900010ef520
RBP: ffffc900010ef598 R08: ffffc900010ef527 R09: 1ffff9200021dea4
R10: dffffc0000000000 R11: fffff5200021dea5 R12: dffffc0000000000
R13: 1ffff9200021dea0 R14: ffffc900010ef520 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000098 CR3: 0000000104662000 CR4: 00000000003526b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 48 c7 44 24 20 00 00 movq $0x0,0x20(%rsp)
7: 00 00
9: be 08 00 00 00 mov $0x8,%esi
e: e8 2d 34 55 fc call 0xfc553440
13: 4c 89 f7 mov %r14,%rdi
16: be 08 00 00 00 mov $0x8,%esi
1b: e8 20 34 55 fc call 0xfc553440
20: 48 8b 44 24 20 mov 0x20(%rsp),%rax
25: b9 01 00 00 00 mov $0x1,%ecx
* 2a: f0 48 0f b1 0b lock cmpxchg %rcx,(%rbx) <-- trapping instruction
2f: 0f 85 a0 00 00 00 jne 0xd5
35: 48 c7 c0 c0 b9 20 87 mov $0xffffffff8720b9c0,%rax
3c: 48 c1 e8 03 shr $0x3,%rax