[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <60264dc3-dea2-48d0-a616-ae14d7c2c14b@linux.dev>
Date: Fri, 29 Mar 2024 11:03:16 -0700
From: Martin KaFai Lau <martin.lau@...ux.dev>
To: syzbot <syzbot+8ac8b7b2292ea867a162@...kaller.appspotmail.com>,
syzkaller-bugs@...glegroups.com
Cc: alexei.starovoitov@...il.com, andrii@...nel.org, ast@...nel.org,
bpf@...r.kernel.org, daniel@...earbox.net, eddyz87@...il.com,
haoluo@...gle.com, john.fastabend@...il.com, jolsa@...nel.org,
kpsingh@...nel.org, linux-kernel@...r.kernel.org, samsun1006219@...il.com,
sdf@...gle.com, song@...nel.org, xrivendell7@...il.com,
yonghong.song@...ux.dev
Subject: Re: [syzbot] [bpf?] KMSAN: uninit-value in __bpf_strtoull
On 3/28/24 7:59 PM, syzbot wrote:
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit: 8d025e2092e2 Merge tag 'erofs-for-6.9-rc2-fixes' of git://..
> git tree: upstream
> console+strace: https://syzkaller.appspot.com/x/log.txt?x=10f2ffe6180000
> kernel config: https://syzkaller.appspot.com/x/.config?x=e2599baf258ef795
> dashboard link: https://syzkaller.appspot.com/bug?extid=8ac8b7b2292ea867a162
> 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=15b3ac29180000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=160153c9180000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/5ccde1a19e22/disk-8d025e20.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/45420817e7d9/vmlinux-8d025e20.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/354bdafd8c8f/bzImage-8d025e20.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+8ac8b7b2292ea867a162@...kaller.appspotmail.com
>
> =====================================================
> BUG: KMSAN: uninit-value in __bpf_strtoull+0x245/0x5b0 kernel/bpf/helpers.c:465
> __bpf_strtoull+0x245/0x5b0 kernel/bpf/helpers.c:465
> __bpf_strtoll kernel/bpf/helpers.c:504 [inline]
> ____bpf_strtol kernel/bpf/helpers.c:525 [inline]
> bpf_strtol+0x7c/0x270 kernel/bpf/helpers.c:519
> ___bpf_prog_run+0x13fe/0xe0f0 kernel/bpf/core.c:1997
> __bpf_prog_run96+0xb5/0xe0 kernel/bpf/core.c:2236
This should be similar to the other KMSAN reports on the interpreter using
the uninit stack in the map_lookup/delete_elem helpers. The bpf prog used
in this C reproducer:
0: (18) r0 = 0x0
2: (b7) r8 = 0
3: (7b) *(u64 *)(r10 -72) = r8
4: (b7) r8 = 0
5: (7b) *(u64 *)(r10 -16) = r8
6: (bf) r1 = r10
7: (07) r1 += -8
^^^^^^^^
8: (bf) r4 = r10
9: (07) r4 += -16
10: (b7) r2 = 8
11: (18) r3 = map[id:68][0]+0
13: (b7) r3 = 0
14: (85) call bpf_strtol#896752
15: (95) exit
#syz fix: bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode
Powered by blists - more mailing lists