syzbot


general protection fault in __pm_runtime_resume (2)

Status: upstream: reported C repro on 2022/03/13 05:35
Reported-by: syzbot+b9bd12fbed3485a3e51f@syzkaller.appspotmail.com
Fix commit: 32cb08e95869 Bluetooth: hci_uart: add missing NULL check in h5_enqueue
Patched on: [ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-leak ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce ci-upstream-kmsan-gce-386 ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-qemu2-riscv64]
First crash: 112d, last: 98d

Cause bisection: failed (bisect log)
similar bugs (2):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: null-ptr-deref Write in __pm_runtime_resume C done 108 126d 305d 22/22 fixed on 2022/03/08 16:11
upstream general protection fault in __pm_runtime_resume C 197 1007d 1070d 14/22 fixed on 2019/10/15 23:40
Patch testing requests:
Created Duration User Patch Repo Result
2022/03/14 00:37 11m hdanton@sina.com patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ 92f90cc9fe0e report log
2022/03/13 17:29 10m paskripkin@gmail.com patch upstream OK

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000072: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000390-0x0000000000000397]
CPU: 0 PID: 46 Comm: kworker/u5:0 Not tainted 5.17.0-rc7-syzkaller-00060-g92f90cc9fe0e #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: hci0 hci_cmd_work
RIP: 0010:__pm_runtime_resume+0x45/0x170 drivers/base/power/runtime.c:1126
Code: 44 89 ee e8 2d af 02 fd 45 85 ed 75 4e e8 a3 ab 02 fd 48 8d bd 91 03 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 48 89 fa 83 e2 07 38 d0 7f 08 84 c0 0f 85 03 01 00 00
RSP: 0018:ffffc9000116fc28 EFLAGS: 00010216
RAX: dffffc0000000000 RBX: ffff888022f8d000 RCX: 0000000000000000
RDX: 0000000000000072 RSI: ffffffff8476148d RDI: 0000000000000391
RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffff8ffc4a0f
R10: ffffffff84761483 R11: 000000000000000a R12: 0000000000000004
R13: 0000000000000000 R14: ffff888022f8d190 R15: ffff888022f8d128
FS:  0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffc3fad2418 CR3: 000000007f4c3000 CR4: 0000000000350ef0
Call Trace:
 <TASK>
 pm_runtime_get_sync include/linux/pm_runtime.h:420 [inline]
 h5_enqueue+0x175/0x390 drivers/bluetooth/hci_h5.c:632
 hci_uart_send_frame+0x1ee/0x6b0 drivers/bluetooth/hci_ldisc.c:286
 hci_send_frame+0x1c0/0x370 net/bluetooth/hci_core.c:2942
 hci_cmd_work+0x204/0x3c0 net/bluetooth/hci_core.c:3861
 process_one_work+0x9ac/0x1650 kernel/workqueue.c:2307
 worker_thread+0x657/0x1110 kernel/workqueue.c:2454
 kthread+0x2e9/0x3a0 kernel/kthread.c:377
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__pm_runtime_resume+0x45/0x170 drivers/base/power/runtime.c:1126
Code: 44 89 ee e8 2d af 02 fd 45 85 ed 75 4e e8 a3 ab 02 fd 48 8d bd 91 03 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 48 89 fa 83 e2 07 38 d0 7f 08 84 c0 0f 85 03 01 00 00
RSP: 0018:ffffc9000116fc28 EFLAGS: 00010216
RAX: dffffc0000000000 RBX: ffff888022f8d000 RCX: 0000000000000000
RDX: 0000000000000072 RSI: ffffffff8476148d RDI: 0000000000000391
RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffff8ffc4a0f
R10: ffffffff84761483 R11: 000000000000000a R12: 0000000000000004
R13: 0000000000000000 R14: ffff888022f8d190 R15: ffff888022f8d128
FS:  0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f989adfd718 CR3: 000000007683c000 CR4: 0000000000350ef0
----------------
Code disassembly (best guess):
   0:	44 89 ee             	mov    %r13d,%esi
   3:	e8 2d af 02 fd       	callq  0xfd02af35
   8:	45 85 ed             	test   %r13d,%r13d
   b:	75 4e                	jne    0x5b
   d:	e8 a3 ab 02 fd       	callq  0xfd02abb5
  12:	48 8d bd 91 03 00 00 	lea    0x391(%rbp),%rdi
  19:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  20:	fc ff df
  23:	48 89 fa             	mov    %rdi,%rdx
  26:	48 c1 ea 03          	shr    $0x3,%rdx
* 2a:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax <-- trapping instruction
  2e:	48 89 fa             	mov    %rdi,%rdx
  31:	83 e2 07             	and    $0x7,%edx
  34:	38 d0                	cmp    %dl,%al
  36:	7f 08                	jg     0x40
  38:	84 c0                	test   %al,%al
  3a:	0f 85 03 01 00 00    	jne    0x143

Crashes (7):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-root 2022/03/09 05:51 upstream 92f90cc9fe0e 9e8eaa75 .config log report syz C general protection fault in __pm_runtime_resume
ci-upstream-kasan-gce-smack-root 2022/03/22 11:34 upstream eaa54b1458ca e2d91b1d .config log report info general protection fault in __pm_runtime_resume
ci-upstream-kasan-gce-selinux-root 2022/03/21 06:10 upstream f443e374ae13 e2d91b1d .config log report info general protection fault in __pm_runtime_resume
ci-upstream-kasan-gce-selinux-root 2022/03/13 12:18 upstream aad611a868d1 9e8eaa75 .config log report info general protection fault in __pm_runtime_resume
ci-upstream-kasan-gce-root 2022/03/13 10:50 upstream aad611a868d1 9e8eaa75 .config log report info general protection fault in __pm_runtime_resume
ci-upstream-kasan-gce-root 2022/03/09 05:25 upstream 92f90cc9fe0e 9e8eaa75 .config log report info general protection fault in __pm_runtime_resume
ci-upstream-linux-next-kasan-gce-root 2022/03/19 12:48 linux-next 91265a6da44d e2d91b1d .config log report info general protection fault in __pm_runtime_resume