syzbot
UBSAN: undefined-behaviour in arch_uprobe_analyze_insn
Status:
upstream: reported C repro on 2020/09/17 01:47
Reported-by: syzbot+a3f0727d419f82e6b9b7@syzkaller.appspotmail.com
First crash: 2167d, last: 2132d
Sample crash report:
audit: type=1400 audit(1603298439.994:8): avc: denied { execmem } for pid=8114 comm="syz-executor178" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=process permissive=1
================================================================================
UBSAN: Undefined behaviour in arch/x86/kernel/uprobes.c:276:56
index 4 is out of range for type 'insn_byte_t [4]'
CPU: 1 PID: 8114 Comm: syz-executor178 Not tainted 4.19.152-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x22c/0x33e lib/dump_stack.c:118
ubsan_epilogue+0xe/0x3a lib/ubsan.c:161
__ubsan_handle_out_of_bounds.cold+0x63/0x6f lib/ubsan.c:383
is_prefix_bad arch/x86/kernel/uprobes.c:276 [inline]
uprobe_init_insn arch/x86/kernel/uprobes.c:299 [inline]
arch_uprobe_analyze_insn+0x9d8/0xaa0 arch/x86/kernel/uprobes.c:868
prepare_uprobe kernel/events/uprobes.c:611 [inline]
install_breakpoint kernel/events/uprobes.c:654 [inline]
uprobe_mmap+0x8c2/0xa70 kernel/events/uprobes.c:1096
mmap_region+0x552/0x1510 mm/mmap.c:1803
do_mmap+0x8e8/0x1080 mm/mmap.c:1530
do_mmap_pgoff include/linux/mm.h:2326 [inline]
vm_mmap_pgoff+0x197/0x200 mm/util.c:357
ksys_mmap_pgoff+0x2d1/0x660 mm/mmap.c:1580
do_syscall_64+0xf9/0x670 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x440379
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 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 0f 83 7b 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fff00a08798 EFLAGS: 00000246 ORIG_RAX: 0000000000000009
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000440379
RDX: 0000000000000000 RSI: 0000000000003000 RDI: 0000000020007000
RBP: 00000000006ca018 R08: 0000000000000003 R09: 0000000000000000
R10: 0000000000000412 R11: 0000000000000246 R12: 0000000000401b80
R13: 0000000000401c10 R14: 0000000000000000 R15: 0000000000000000
==========================================================
* Struck through repros no longer work on HEAD.