Re: [syzbot] [bpf?] UBSAN: array-index-out-of-bounds in bpf_mprog_detach

From: Martin KaFai Lau
Date: Thu Aug 03 2023 - 19:40:11 EST


On 7/29/23 5:48 PM, syzbot wrote:
syzbot found the following issue on:

HEAD commit: ec87f05402f5 octeontx2-af: Install TC filter rules in hard..
git tree: net-next
console output:https://syzkaller.appspot.com/x/log.txt?x=12a76df1a80000
kernel config:https://syzkaller.appspot.com/x/.config?x=8acaeb93ad7c6aaa
dashboard link:https://syzkaller.appspot.com/bug?extid=0c06ba0f831fe07a8f27
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image:https://storage.googleapis.com/syzbot-assets/0fc53904fc08/disk-ec87f054.raw.xz
vmlinux:https://storage.googleapis.com/syzbot-assets/aee64718ea5c/vmlinux-ec87f054.xz
kernel image:https://storage.googleapis.com/syzbot-assets/d3b6d3f4cfbc/bzImage-ec87f054.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:syzbot+0c06ba0f831fe07a8f27@xxxxxxxxxxxxxxxxxxxxxxxxx

================================================================================
UBSAN: array-index-out-of-bounds in ./include/linux/bpf_mprog.h:292:24
index 4294967295 is out of range for type 'bpf_mprog_fp [64]'
CPU: 1 PID: 13232 Comm: syz-executor.1 Not tainted 6.5.0-rc2-syzkaller-00573-gec87f05402f5 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2023
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x125/0x1b0 lib/dump_stack.c:106
ubsan_epilogue lib/ubsan.c:217 [inline]
__ubsan_handle_out_of_bounds+0x111/0x150 lib/ubsan.c:348
bpf_mprog_read include/linux/bpf_mprog.h:292 [inline]
bpf_mprog_fetch kernel/bpf/mprog.c:307 [inline]
bpf_mprog_detach+0xcd7/0xd50 kernel/bpf/mprog.c:381
tcx_prog_detach+0x258/0x950 kernel/bpf/tcx.c:78
bpf_prog_detach kernel/bpf/syscall.c:3877 [inline]
__sys_bpf+0x36ee/0x4ec0 kernel/bpf/syscall.c:5357

Thanks for the report. I will take a look.