syzbot


kernel BUG in binder_alloc_deferred_release

Status: fixed on 2023/02/24 13:50
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+58b51ac2b04e388ab7b0@syzkaller.appspotmail.com
Fix commit: a43cfc87caaf android: binder: stop saving a pointer to the VMA
First crash: 673d, last: 667d
Cause bisection: introduced by (bisect log) :
commit 42086abba43463fbf495cb80173600284b4c4e8c
Author: Liam R. Howlett <Liam.Howlett@Oracle.com>
Date: Tue Jun 14 19:00:27 2022 +0000

  mm: start tracking VMAs with maple tree

Crash: kernel BUG in binder_alloc_deferred_release (log)
Repro: C syz .config
  
Discussions (4)
Title Replies (including bot) Last reply
[PATCH 5.15 000/779] 5.15.61-rc1 review 804 (804) 2022/09/23 09:30
[PATCH 5.18 0000/1095] 5.18.18-rc1 review 1101 (1101) 2022/08/21 13:22
[PATCH 5.19 0000/1157] 5.19.2-rc1 review 1184 (1184) 2022/08/21 08:05
[syzbot] kernel BUG in binder_alloc_deferred_release 3 (4) 2022/06/21 14:03
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream kernel BUG at drivers/android/binder_alloc.c:LINE! kernel C 856 2326d 2330d 4/26 fixed on 2018/02/01 10:32
android-414 kernel BUG at drivers/android/binder_alloc.c:LINE! (2) C 3 1767d 1767d 0/1 public: reported C repro on 2019/06/17 23:05
upstream kernel BUG at drivers/android/binder_alloc.c:LINE! (3) kernel C done 24 1779d 1848d 12/26 fixed on 2019/06/14 18:22
upstream kernel BUG at drivers/android/binder_alloc.c:LINE! (2) kernel C 1257 1848d 1890d 11/26 fixed on 2019/03/28 12:00
upstream kernel BUG at drivers/android/binder_alloc.c:LINE! (4) C done 26 1758d 1766d 12/26 fixed on 2019/08/05 13:45
android-414 kernel BUG at drivers/android/binder_alloc.c:LINE! C 30 1849d 1850d 1/1 fixed on 2019/03/28 03:28
android-49 kernel BUG at drivers/android/binder_alloc.c:LINE! C 44 1602d 1850d 1/3 internal: reported C repro on 2019/03/26 19:34
Last patch testing requests (1)
Created Duration User Patch Repo Result
2022/06/20 10:40 18m hdanton@sina.com patch https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 6012273897fe OK log

Sample crash report:
------------[ cut here ]------------
kernel BUG at drivers/android/binder_alloc.c:820!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 2934 Comm: kworker/0:3 Not tainted 5.19.0-rc2-next-20220615-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events binder_deferred_func
RIP: 0010:binder_alloc_deferred_release+0x602/0x780 drivers/android/binder_alloc.c:820
Code: c6 80 16 c7 8a 48 c7 c7 80 b6 48 8d e8 57 86 05 fd 31 ff 89 c5 89 c6 e8 fc ba 5b fa 85 ed 74 c6 e9 78 57 55 02 e8 9e be 5b fa <0f> 0b c7 44 24 20 00 00 00 00 e9 27 ff ff ff e8 8a be 5b fa 48 89
RSP: 0018:ffffc9000de07bc8 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff8880519971e0 RCX: 0000000000000000
RDX: ffff888026b0d7c0 RSI: ffffffff871f04b2 RDI: ffff888051997270
RBP: ffff888051997000 R08: 0000000000000000 R09: ffffffff8dbcac17
R10: fffffbfff1b79582 R11: 0000000000000000 R12: ffff888147653c60
R13: ffff8880519972d8 R14: ffff888147653d10 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f99ddec19c1 CR3: 0000000077a01000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 binder_free_proc drivers/android/binder.c:4766 [inline]
 binder_proc_dec_tmpref drivers/android/binder.c:1433 [inline]
 binder_proc_dec_tmpref+0x2aa/0x530 drivers/android/binder.c:1426
 binder_deferred_release drivers/android/binder.c:5761 [inline]
 binder_deferred_func+0xe2a/0x1150 drivers/android/binder.c:5788
 process_one_work+0x996/0x1610 kernel/workqueue.c:2289
 worker_thread+0x665/0x1080 kernel/workqueue.c:2436
 kthread+0x2e9/0x3a0 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:binder_alloc_deferred_release+0x602/0x780 drivers/android/binder_alloc.c:820
Code: c6 80 16 c7 8a 48 c7 c7 80 b6 48 8d e8 57 86 05 fd 31 ff 89 c5 89 c6 e8 fc ba 5b fa 85 ed 74 c6 e9 78 57 55 02 e8 9e be 5b fa <0f> 0b c7 44 24 20 00 00 00 00 e9 27 ff ff ff e8 8a be 5b fa 48 89
RSP: 0018:ffffc9000de07bc8 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff8880519971e0 RCX: 0000000000000000
RDX: ffff888026b0d7c0 RSI: ffffffff871f04b2 RDI: ffff888051997270
RBP: ffff888051997000 R08: 0000000000000000 R09: ffffffff8dbcac17
R10: fffffbfff1b79582 R11: 0000000000000000 R12: ffff888147653c60
R13: ffff8880519972d8 R14: ffff888147653d10 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f99ddec19c1 CR3: 000000001bb00000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/06/16 01:55 linux-next 6012273897fe 1719ee24 .config strace log report syz C ci-upstream-linux-next-kasan-gce-root kernel BUG in binder_alloc_deferred_release
2022/06/21 23:19 linux-next 34d1d36073ea 0fc5c330 .config console log report info ci-upstream-linux-next-kasan-gce-root kernel BUG in binder_alloc_deferred_release
2022/06/16 02:09 linux-next 6012273897fe 1719ee24 .config console log report info ci-upstream-linux-next-kasan-gce-root kernel BUG in binder_alloc_deferred_release
2022/06/16 01:37 linux-next 6012273897fe 1719ee24 .config console log report info ci-upstream-linux-next-kasan-gce-root kernel BUG in binder_alloc_deferred_release
* Struck through repros no longer work on HEAD.