Re: [syzbot] [bpf?] KMSAN: uninit-value in strnchr

From: Martin KaFai Lau
Date: Tue Apr 09 2024 - 01:30:43 EST


On 3/7/24 12:30 AM, syzbot wrote:
Hello,

syzbot found the following issue on:

HEAD commit: 04b8076df253 Merge tag 'firewire-fixes-6.8-rc7' of git://g..
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=10bb9306180000
kernel config: https://syzkaller.appspot.com/x/.config?x=80c7a82a572c0de3
dashboard link: https://syzkaller.appspot.com/bug?extid=9b8be5e35747291236c8
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11093316180000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15a53082180000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/a4610b1ff2a7/disk-04b8076d.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/991e9d902d39/vmlinux-04b8076d.xz
kernel image: https://storage.googleapis.com/syzbot-assets/a5b8e8e98121/bzImage-04b8076d.xz

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

=====================================================
BUG: KMSAN: uninit-value in strnchr+0x90/0xd0 lib/string.c:388
strnchr+0x90/0xd0 lib/string.c:388
bpf_bprintf_prepare+0x1c2/0x23b0 kernel/bpf/helpers.c:829
____bpf_trace_printk kernel/trace/bpf_trace.c:385 [inline]
bpf_trace_printk+0xec/0x3e0 kernel/trace/bpf_trace.c:375
___bpf_prog_run+0x2180/0xdb80 kernel/bpf/core.c:1986
__bpf_prog_run32+0xb2/0xe0 kernel/bpf/core.c:2225

This is the same as the dev_map_lookup_elem report when running in interpreter mode. It loads a different program to call bpf_trace_printk instead.

0: (6a) *(u16 *)(r10 -8) = 628106613
1: (bf) r1 = r10
2: (07) r1 += -8
3: (b7) r2 = 5
4: (bf) r3 = r1
5: (85) call bpf_trace_printk#-315920
6: (b7) r0 = 0
7: (95) exit


#syz dup: [syzbot] [bpf?] [net?] KMSAN: uninit-value in dev_map_lookup_elem