syzbot


BUG: unable to handle kernel paging request in bpf_probe_read_compat_str

Status: upstream: reported C repro on 2024/01/22 23:16
Bug presence: origin:upstream
Labels: missing-backport
[Documentation on labels]
Reported-by: syzbot+2537bd060028e740f62a@syzkaller.appspotmail.com
First crash: 101d, last: 10d
Cause bisection: failed (error log, bisect log)
  
Bug presence (4)
Date Name Commit Repro Result
2024/03/08 android14-6.1 (ToT) 9219a44e003d C [report] BUG: unable to handle kernel paging request in bpf_probe_read_compat_str
2024/01/23 lts (merge base) 082280fe94a0 C [report] BUG: unable to handle kernel paging request in bpf_probe_read_compat_str
2024/01/23 upstream (ToT) 7ed2632ec7d7 C [report] BUG: unable to handle kernel paging request in bpf_probe_read_compat_str
2024/03/08 upstream (ToT) 3aaa8ce7a335 C Didn't crash
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream BUG: unable to handle kernel paging request in bpf_probe_read_compat_str mm C done 4 72d 96d 0/26 upstream: reported C repro on 2024/01/27 00:25
android-5-15 BUG: unable to handle kernel paging request in bpf_probe_read_compat_str origin:upstream missing-backport C 2 24d 100d 0/2 upstream: reported C repro on 2024/01/23 03:08
linux-5.15 BUG: unable to handle kernel paging request in bpf_probe_read_compat_str origin:upstream missing-backport C done 1 55d 100d 0/3 upstream: reported C repro on 2024/01/22 23:41
linux-6.1 BUG: unable to handle kernel paging request in bpf_probe_read_compat_str origin:upstream missing-backport C done 1 55d 100d 0/3 upstream: reported C repro on 2024/01/23 14:36
Last patch testing requests (3)
Created Duration User Patch Repo Result
2024/04/22 19:59 17m retest repro android14-6.1 report log
2024/02/20 02:32 6m retest repro android14-6.1 report log
2024/02/06 01:30 7m retest repro android14-6.1 report log
Fix bisection attempts (1)
Created Duration User Patch Repo Result
2024/04/08 12:31 3h04m bisect fix android14-6.1 job log (0) log

Sample crash report:
BUG: unable to handle page fault for address: ffffffffff600000
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 6c12067 P4D 6c12067 PUD 6c14067 PMD 6c16067 PTE 0
Oops: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 296 Comm: syz-executor405 Not tainted 6.1.57-syzkaller-00059-g21c71a7d0e96 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
RIP: 0010:strncpy_from_kernel_nofault+0x92/0x1e0 mm/maccess.c:91
Code: d0 48 c1 e8 03 48 89 45 c0 42 0f b6 04 30 84 c0 48 89 55 c8 0f 85 eb 00 00 00 ff 02 45 31 e4 48 8b 55 d0 4c 8b 7d b8 49 89 dd <42> 8a 1c 23 4a 8d 3c 22 48 89 f8 48 c1 e8 03 42 0f b6 04 30 84 c0
RSP: 0018:ffffc90000e57a68 EFLAGS: 00010046
RAX: 0000000000000000 RBX: ffffffffff600000 RCX: ffff888108d51440
RDX: ffffc90000e57b08 RSI: ffffffffff600000 RDI: ffffffffff600000
RBP: ffffc90000e57ab0 R08: ffffffff8138c709 R09: ffffed10211aa289
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: ffffffffff600000 R14: dffffc0000000000 R15: 0000000000000008
FS:  0000555556f76380(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffff600000 CR3: 0000000121914000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 bpf_probe_read_kernel_str_common kernel/trace/bpf_trace.c:265 [inline]
 ____bpf_probe_read_compat_str kernel/trace/bpf_trace.c:313 [inline]
 bpf_probe_read_compat_str+0x112/0x180 kernel/trace/bpf_trace.c:306
 bpf_prog_f17ebaf3f5f7baf8+0x3a/0x3c
 bpf_dispatcher_nop_func include/linux/bpf.h:982 [inline]
 __bpf_prog_run include/linux/filter.h:600 [inline]
 bpf_prog_run include/linux/filter.h:607 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:2275 [inline]
 bpf_trace_run4+0x18d/0x2f0 kernel/trace/bpf_trace.c:2316
 __bpf_trace_sched_switch+0xe/0x10 include/trace/events/sched.h:222
 trace_sched_switch include/trace/events/sched.h:222 [inline]
 __schedule+0x12f7/0x1540 kernel/sched/core.c:6722
 schedule+0xc3/0x180 kernel/sched/core.c:6801
 ptrace_stop+0x54f/0x930 kernel/signal.c:2329
 ptrace_do_notify kernel/signal.c:2366 [inline]
 ptrace_notify+0x225/0x350 kernel/signal.c:2378
 ptrace_report_syscall include/linux/ptrace.h:420 [inline]
 ptrace_report_syscall_exit include/linux/ptrace.h:482 [inline]
 syscall_exit_work kernel/entry/common.c:252 [inline]
 syscall_exit_to_user_mode_prepare kernel/entry/common.c:279 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:284 [inline]
 syscall_exit_to_user_mode+0xa2/0x140 kernel/entry/common.c:297
 do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f43b1400b39
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 c1 17 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:00007ffeb07bc8a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
RAX: 0000000000000004 RBX: 0000000000000000 RCX: 00007f43b1400b39
RDX: 0000000000000010 RSI: 0000000020000280 RDI: 0000000000000011
RBP: 0000000000000000 R08: 0000000000000006 R09: 0000000000000006
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000003a28
R13: 431bde82d7b634db R14: 0000000000000001 R15: 0000000000000001
 </TASK>
Modules linked in:
CR2: ffffffffff600000
---[ end trace 0000000000000000 ]---
RIP: 0010:strncpy_from_kernel_nofault+0x92/0x1e0 mm/maccess.c:91
Code: d0 48 c1 e8 03 48 89 45 c0 42 0f b6 04 30 84 c0 48 89 55 c8 0f 85 eb 00 00 00 ff 02 45 31 e4 48 8b 55 d0 4c 8b 7d b8 49 89 dd <42> 8a 1c 23 4a 8d 3c 22 48 89 f8 48 c1 e8 03 42 0f b6 04 30 84 c0
RSP: 0018:ffffc90000e57a68 EFLAGS: 00010046
RAX: 0000000000000000 RBX: ffffffffff600000 RCX: ffff888108d51440
RDX: ffffc90000e57b08 RSI: ffffffffff600000 RDI: ffffffffff600000
RBP: ffffc90000e57ab0 R08: ffffffff8138c709 R09: ffffed10211aa289
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: ffffffffff600000 R14: dffffc0000000000 R15: 0000000000000008
FS:  0000555556f76380(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffff600000 CR3: 0000000121914000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	d0 48 c1             	rorb   -0x3f(%rax)
   3:	e8 03 48 89 45       	call   0x4589480b
   8:	c0 42 0f b6          	rolb   $0xb6,0xf(%rdx)
   c:	04 30                	add    $0x30,%al
   e:	84 c0                	test   %al,%al
  10:	48 89 55 c8          	mov    %rdx,-0x38(%rbp)
  14:	0f 85 eb 00 00 00    	jne    0x105
  1a:	ff 02                	incl   (%rdx)
  1c:	45 31 e4             	xor    %r12d,%r12d
  1f:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
  23:	4c 8b 7d b8          	mov    -0x48(%rbp),%r15
  27:	49 89 dd             	mov    %rbx,%r13
* 2a:	42 8a 1c 23          	mov    (%rbx,%r12,1),%bl <-- trapping instruction
  2e:	4a 8d 3c 22          	lea    (%rdx,%r12,1),%rdi
  32:	48 89 f8             	mov    %rdi,%rax
  35:	48 c1 e8 03          	shr    $0x3,%rax
  39:	42 0f b6 04 30       	movzbl (%rax,%r14,1),%eax
  3e:	84 c0                	test   %al,%al

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/01/22 23:37 android14-6.1 21c71a7d0e96 9bd8dcda .config strace log report syz C [disk image] [vmlinux] [kernel image] ci2-android-6-1 BUG: unable to handle kernel paging request in bpf_probe_read_compat_str
2024/01/22 23:10 android14-6.1 21c71a7d0e96 9bd8dcda .config strace log report syz C [disk image] [vmlinux] [kernel image] ci2-android-6-1-perf BUG: unable to handle kernel paging request in bpf_probe_read_compat_str
2024/01/22 22:43 android14-6.1 21c71a7d0e96 9bd8dcda .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1-perf BUG: unable to handle kernel paging request in bpf_probe_read_compat_str
* Struck through repros no longer work on HEAD.