syzbot


KMSAN: uninit-value in __mpol_equal (3)

Status: fixed on 2022/03/08 16:11
Subsystems: mm
[Documentation on labels]
Fix commit: 6d2aec9e123b mm/mempolicy: do not allow illegal MPOL_F_NUMA_BALANCING | MPOL_LOCAL in mbind()
First crash: 942d, last: 918d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KMSAN: uninit-value in __mpol_equal mm 1 1099d 1092d 0/26 auto-closed as invalid on 2021/08/22 02:07
upstream KMSAN: uninit-value in __mpol_equal (2) mm 5 943d 947d 0/26 closed as invalid on 2021/09/27 07:07

Sample crash report:
=====================================================
BUG: KMSAN: uninit-value in __mpol_equal+0x567/0x590 mm/mempolicy.c:2260
 __mpol_equal+0x567/0x590 mm/mempolicy.c:2260
 mpol_equal include/linux/mempolicy.h:105 [inline]
 vma_merge+0x4a1/0x1e60 mm/mmap.c:1190
 mbind_range+0xcc8/0x1e80 mm/mempolicy.c:811
 do_mbind+0xf42/0x15f0 mm/mempolicy.c:1333
 kernel_mbind mm/mempolicy.c:1483 [inline]
 __do_sys_mbind mm/mempolicy.c:1490 [inline]
 __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486
 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82
 entry_SYSCALL_64_after_hwframe+0x44/0xae

Uninit was created at:
 slab_alloc_node mm/slub.c:3221 [inline]
 slab_alloc mm/slub.c:3230 [inline]
 kmem_cache_alloc+0x751/0xff0 mm/slub.c:3235
 mpol_new mm/mempolicy.c:293 [inline]
 do_mbind+0x912/0x15f0 mm/mempolicy.c:1289
 kernel_mbind mm/mempolicy.c:1483 [inline]
 __do_sys_mbind mm/mempolicy.c:1490 [inline]
 __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486
 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82
 entry_SYSCALL_64_after_hwframe+0x44/0xae
=====================================================
Kernel panic - not syncing: panic_on_kmsan set ...
CPU: 1 PID: 15890 Comm: syz-executor.2 Tainted: G    B             5.15.0-rc2-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1ff/0x28e lib/dump_stack.c:106
 dump_stack+0x25/0x28 lib/dump_stack.c:113
 panic+0x44f/0xdeb kernel/panic.c:232
 kmsan_report+0x2ee/0x300 mm/kmsan/report.c:168
 __msan_warning+0xa9/0xf0 mm/kmsan/instrumentation.c:199
 __mpol_equal+0x567/0x590 mm/mempolicy.c:2260
 mpol_equal include/linux/mempolicy.h:105 [inline]
 vma_merge+0x4a1/0x1e60 mm/mmap.c:1190
 mbind_range+0xcc8/0x1e80 mm/mempolicy.c:811
 do_mbind+0xf42/0x15f0 mm/mempolicy.c:1333
 kernel_mbind mm/mempolicy.c:1483 [inline]
 __do_sys_mbind mm/mempolicy.c:1490 [inline]
 __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486
 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f15d47e0a39
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f15d1d56188 EFLAGS: 00000246 ORIG_RAX: 00000000000000ed
RAX: ffffffffffffffda RBX: 00007f15d48e3f60 RCX: 00007f15d47e0a39
RDX: 0000000000002001 RSI: 0000000000c00000 RDI: 0000000020012000
RBP: 00007f15d483ac5f R08: 0000000000000000 R09: 0000010000000002
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f15d4e17b2f R14: 00007f15d1d56300 R15: 0000000000022000
Kernel Offset: disabled
Rebooting in 86400 seconds..

Crashes (13):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/10/21 08:17 https://github.com/google/kmsan.git master d6493d2046c4 f111d03b .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/10/15 01:13 https://github.com/google/kmsan.git master c7f84f4e1147 7aa5fe41 .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/10/12 10:23 https://github.com/google/kmsan.git master c7f84f4e1147 838e7e2c .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/10/09 21:42 https://github.com/google/kmsan.git master c7f84f4e1147 838e7e2c .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/10/07 17:40 https://github.com/google/kmsan.git master c7f84f4e1147 efe0f24d .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/10/04 20:48 https://github.com/google/kmsan.git master 90f502f5d016 ce697b49 .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/10/04 07:20 https://github.com/google/kmsan.git master 90f502f5d016 db0f5787 .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/10/01 22:53 https://github.com/google/kmsan.git master 90f502f5d016 cc80db95 .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/10/01 03:36 https://github.com/google/kmsan.git master 90f502f5d016 1d849ab4 .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/09/30 06:23 https://github.com/google/kmsan.git master 90f502f5d016 be530f6c .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/09/29 06:44 https://github.com/google/kmsan.git master 90f502f5d016 d82cb927 .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/09/27 20:44 https://github.com/google/kmsan.git master cd2c05533838 78494d16 .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
2021/09/27 09:58 https://github.com/google/kmsan.git master cd2c05533838 78494d16 .config console log report info ci-upstream-kmsan-gce KMSAN: uninit-value in __mpol_equal
* Struck through repros no longer work on HEAD.