[syzbot] [bpf?] KMSAN: uninit-value in htab_percpu_map_lookup_elem

From: syzbot
Date: Sun Apr 14 2024 - 07:10:40 EST


Hello,

syzbot found the following issue on:

HEAD commit: 2c71fdf02a95 Merge tag 'drm-fixes-2024-04-09' of https://g..
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=170425a1180000
kernel config: https://syzkaller.appspot.com/x/.config?x=b5bc506ebba90cbf
dashboard link: https://syzkaller.appspot.com/bug?extid=0a079d6ef3831217a230
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=16abe213180000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16ab97ad180000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/36c01edd4b1e/disk-2c71fdf0.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/7df598a3dceb/vmlinux-2c71fdf0.xz
kernel image: https://storage.googleapis.com/syzbot-assets/678bacfb883c/bzImage-2c71fdf0.xz

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

=====================================================
BUG: KMSAN: uninit-value in __htab_map_lookup_elem kernel/bpf/hashtab.c:691 [inline]
BUG: KMSAN: uninit-value in htab_percpu_map_lookup_elem+0x3eb/0x4f0 kernel/bpf/hashtab.c:2302
__htab_map_lookup_elem kernel/bpf/hashtab.c:691 [inline]
htab_percpu_map_lookup_elem+0x3eb/0x4f0 kernel/bpf/hashtab.c:2302
____bpf_map_lookup_elem kernel/bpf/helpers.c:42 [inline]
bpf_map_lookup_elem+0x5c/0x80 kernel/bpf/helpers.c:38
___bpf_prog_run+0x13fe/0xe0f0 kernel/bpf/core.c:1997
__bpf_prog_run32+0xb2/0xe0 kernel/bpf/core.c:2236
bpf_dispatcher_nop_func include/linux/bpf.h:1234 [inline]
__bpf_prog_run include/linux/filter.h:657 [inline]
bpf_prog_run include/linux/filter.h:664 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:2381 [inline]
bpf_trace_run4+0x150/0x340 kernel/trace/bpf_trace.c:2422
__bpf_trace_mm_page_alloc+0x37/0x50 include/trace/events/kmem.h:177
trace_mm_page_alloc include/trace/events/kmem.h:177 [inline]
__alloc_pages+0xdc0/0xe70 mm/page_alloc.c:4597
alloc_pages_mpol+0x299/0x990 mm/mempolicy.c:2264
vma_alloc_folio+0x418/0x680 mm/mempolicy.c:2303
wp_page_copy mm/memory.c:3263 [inline]
do_wp_page+0x196c/0x66e0 mm/memory.c:3660
handle_pte_fault mm/memory.c:5316 [inline]
__handle_mm_fault mm/memory.c:5441 [inline]
handle_mm_fault+0x5b76/0xce00 mm/memory.c:5606
do_user_addr_fault arch/x86/mm/fault.c:1362 [inline]
handle_page_fault arch/x86/mm/fault.c:1505 [inline]
exc_page_fault+0x419/0x730 arch/x86/mm/fault.c:1563
asm_exc_page_fault+0x2b/0x30 arch/x86/include/asm/idtentry.h:623

Local variable stack created at:
__bpf_prog_run32+0x43/0xe0 kernel/bpf/core.c:2236
bpf_dispatcher_nop_func include/linux/bpf.h:1234 [inline]
__bpf_prog_run include/linux/filter.h:657 [inline]
bpf_prog_run include/linux/filter.h:664 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:2381 [inline]
bpf_trace_run4+0x150/0x340 kernel/trace/bpf_trace.c:2422

CPU: 0 PID: 5021 Comm: syz-executor180 Not tainted 6.9.0-rc3-syzkaller-00023-g2c71fdf02a95 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
=====================================================


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup