syzbot


attempt to subtract with overflow in <rust_binder::process::Process>::update_ref

Status: internal: reported C repro on 2025/06/20 16:05
Reported-by: syzbot+92778dad5e0b8e599c0d@syzkaller.appspotmail.com
First crash: 12h45m, last: 29m

Sample crash report:
rust_kernel: panicked at drivers/android/binder/node.rs:877:13:
attempt to subtract with overflow
------------[ cut here ]------------
kernel BUG at rust/helpers/bug.c:7!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 0 UID: 0 PID: 299 Comm: syz-executor638 Not tainted 6.12.23-syzkaller-g6c1c18fcb8b7 #0 ba78288b1e32eb9f88d3f8d8da6b79a037cd8362
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:rust_helper_BUG+0x8/0x10 rust/helpers/bug.c:7
Code: cc cc cc cc cc 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 b8 d5 dd 05 3f 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 55 48 89 e5 <0f> 0b 66 0f 1f 44 00 00 b8 9f 19 4c b3 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc900011dda90 EFLAGS: 00010246
RAX: 0000000000000061 RBX: 1ffff9200023bb54 RCX: 9b655b5c4c1d5800
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000002
RBP: ffffc900011dda90 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff5200023bab8 R12: 0000000000000000
R13: dffffc0000000000 R14: ffffc900011ddac0 R15: ffffc900011ddaf0
FS:  000055556cdd3380(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f19506260e0 CR3: 0000000120ee0000 CR4: 00000000003526b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __rustc::rust_begin_unwind+0x15b/0x160 rust/kernel/lib.rs:128
 core::panicking::panic_fmt+0x84/0x90 usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panicking.rs:75
 core::panicking::panic_const::panic_const_sub_overflow+0xb2/0xc0 usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panicking.rs:178
 <rust_binder::node::NodeRef>::update drivers/android/binder/node.rs:877 [inline]
 <rust_binder::process::Process>::update_ref+0x17e5/0x1860 drivers/android/binder/process.rs:913
 <rust_binder::thread::Thread>::write drivers/android/binder/thread.rs:1470 [inline]
 <rust_binder::thread::Thread>::write_read+0x278d/0x9d20 drivers/android/binder/thread.rs:1581
 <rust_binder::process::Process>::ioctl_write_read drivers/android/binder/process.rs:1535 [inline]
 <rust_binder::process::Process>::ioctl+0x411/0x2c20 drivers/android/binder/process.rs:1596
 rust_binder::rust_binder_unlocked_ioctl+0xa0/0x100 drivers/android/binder/rust_binder.rs:445
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:907 [inline]
 __se_sys_ioctl+0x132/0x1b0 fs/ioctl.c:893
 __x64_sys_ioctl+0x7f/0xa0 fs/ioctl.c:893
 x64_sys_call+0x1878/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:17
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0x58/0xf0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f19505af2c9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffda4b1ffa8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007f19505af2c9
RDX: 00002000000001c0 RSI: 00000000c0306201 RDI: 0000000000000003
RBP: 00000000000f4240 R08: 0000000000000000 R09: 000055556cdd4610
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f19505fd1bc
R13: 00007f19505f809b R14: 00007ffda4b1ffd0 R15: 00007ffda4b1ffc0
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:rust_helper_BUG+0x8/0x10 rust/helpers/bug.c:7
Code: cc cc cc cc cc 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 b8 d5 dd 05 3f 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 55 48 89 e5 <0f> 0b 66 0f 1f 44 00 00 b8 9f 19 4c b3 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc900011dda90 EFLAGS: 00010246
RAX: 0000000000000061 RBX: 1ffff9200023bb54 RCX: 9b655b5c4c1d5800
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000002
RBP: ffffc900011dda90 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff5200023bab8 R12: 0000000000000000
R13: dffffc0000000000 R14: ffffc900011ddac0 R15: ffffc900011ddaf0
FS:  000055556cdd3380(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f19506260e0 CR3: 0000000120ee0000 CR4: 00000000003526b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (23):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/20 15:21 android16-6.12 6c1c18fcb8b7 804b3919 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 14:51 android16-6.12 6c1c18fcb8b7 804b3919 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 14:06 android16-6.12 6c1c18fcb8b7 804b3919 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 13:22 android16-6.12 6c1c18fcb8b7 804b3919 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/21 00:52 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/21 00:47 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/21 00:06 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 23:55 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 23:33 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 23:08 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 22:59 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 22:37 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 21:50 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 20:20 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 19:38 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 18:09 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 16:04 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 15:28 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 14:15 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 13:30 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 13:11 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 13:10 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
2025/06/20 12:36 android16-6.12 6c1c18fcb8b7 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::process::Process>::update_ref
* Struck through repros no longer work on HEAD.