syzbot


attempt to subtract with overflow in <rust_binder::thread::Thread>::do_set_priority

Status: internal: reported C repro on 2025/09/17 14:29
Reported-by: syzbot+2e8abf3f3694bffbe1a3@syzkaller.appspotmail.com
First crash: 9h14m, last: 8h26m

Sample crash report:
rust_kernel: panicked at drivers/android/binder/prio.rs:78:9:
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: 1 UID: 0 PID: 384 Comm: syz.2.17 Not tainted syzkaller #0 064bd8e71db8281f775729d9237f740d6717dea5
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/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 d9 16 57 e7 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 93 d2 1e 6b 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc90000f0d0b0 EFLAGS: 00010246
RAX: 000000000000005f RBX: 1ffff920001e1a18 RCX: b9d0c498fb692800
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000002
RBP: ffffc90000f0d0b0 R08: ffffc90000f0cda7 R09: 1ffff920001e19b4
R10: dffffc0000000000 R11: fffff520001e19b5 R12: 0000000000000000
R13: dffffc0000000000 R14: ffffc90000f0d0e0 R15: ffffc90000f0d110
FS:  00007f7c328b96c0(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7c328b8f98 CR3: 000000012d2a4000 CR4: 00000000003526b0
Call Trace:
 <TASK>
 __rustc::rust_begin_unwind+0x15b/0x160 rust/kernel/lib.rs:130
 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::prio::to_kernel_prio drivers/android/binder/prio.rs:78 [inline]
 <rust_binder::thread::Thread>::do_set_priority+0xd75/0xe10 drivers/android/binder/thread.rs:-1
 <rust_binder::thread::Thread>::set_priority drivers/android/binder/thread.rs:751 [inline]
 <rust_binder::transaction::Transaction as rust_binder::DeliverToRead>::on_thread_selected+0x69d/0xae0 drivers/android/binder/transaction.rs:539
 <rust_binder::process::ProcessInner>::push_work+0x322/0xb30 drivers/android/binder/process.rs:151
 <rust_binder::transaction::Transaction>::submit+0x761/0x2010 drivers/android/binder/transaction.rs:337
 <rust_binder::thread::Thread>::transaction_inner drivers/android/binder/thread.rs:1335 [inline]
 <<rust_binder::thread::Thread>::transaction_inner as core::ops::function::FnOnce<(&kernel::sync::arc::Arc<rust_binder::thread::Thread>, &rust_binder::defs::BinderTransactionDataSg)>>::call_once usr/local/rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250 [inline]
 <rust_binder::thread::Thread>::transaction::<<rust_binder::thread::Thread>::transaction_inner>+0xb36/0xdd0 drivers/android/binder/thread.rs:1294
 <rust_binder::thread::Thread>::write drivers/android/binder/thread.rs:1433 [inline]
 <rust_binder::thread::Thread>::write_read+0x1f5c/0xa290 drivers/android/binder/thread.rs:1581
 <rust_binder::process::Process>::ioctl_write_read drivers/android/binder/process.rs:1552 [inline]
 <rust_binder::process::Process>::ioctl+0x409/0x2cd0 drivers/android/binder/process.rs:1617
 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:0x7f7c3198eba9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f7c328b9038 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f7c31bd6090 RCX: 00007f7c3198eba9
RDX: 0000200000000180 RSI: 00000000c0306201 RDI: 0000000000000003
RBP: 00007f7c31a11e19 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f7c31bd6128 R14: 00007f7c31bd6090 R15: 00007ffdf19a0988
 </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 d9 16 57 e7 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 93 d2 1e 6b 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc90000f0d0b0 EFLAGS: 00010246
RAX: 000000000000005f RBX: 1ffff920001e1a18 RCX: b9d0c498fb692800
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000002
RBP: ffffc90000f0d0b0 R08: ffffc90000f0cda7 R09: 1ffff920001e19b4
R10: dffffc0000000000 R11: fffff520001e19b5 R12: 0000000000000000
R13: dffffc0000000000 R14: ffffc90000f0d0e0 R15: ffffc90000f0d110
FS:  00007f7c328b96c0(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7c328b8f98 CR3: 000000012d2a4000 CR4: 00000000003526b0

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/17 14:51 android16-6.12 c882e6efcea1 e2beed91 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::thread::Thread>::do_set_priority
2025/09/17 14:04 android16-6.12 c882e6efcea1 e2beed91 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust attempt to subtract with overflow in <rust_binder::thread::Thread>::do_set_priority
* Struck through repros no longer work on HEAD.