Re: KMSAN: uninit-value in alauda_check_media

From: syzbot
Date: Fri Oct 11 2019 - 11:24:05 EST


Hello,

syzbot has tested the proposed patch but the reproducer still triggered crash:
KMSAN: uninit-value in sd_revalidate_disk

=====================================================
BUG: KMSAN: uninit-value in check_disk_change+0x423/0x4b0 fs/block_dev.c:1499
CPU: 1 PID: 23508 Comm: scsi_id Not tainted 5.3.0-rc7+ #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x191/0x1f0 lib/dump_stack.c:113
kmsan_report+0x13a/0x2b0 mm/kmsan/kmsan_report.c:108
__msan_warning+0x73/0xe0 mm/kmsan/kmsan_instr.c:250
media_not_present drivers/scsi/sd.c:1527 [inline]
sd_spinup_disk drivers/scsi/sd.c:2096 [inline]
sd_revalidate_disk+0x4d2/0xbef0 drivers/scsi/sd.c:3114
check_disk_change+0x423/0x4b0 fs/block_dev.c:1499
sd_open+0x471/0x8e0 drivers/scsi/sd.c:1356
__blkdev_get+0x4a8/0x2480 fs/block_dev.c:1569
blkdev_get+0x228/0x6d0 fs/block_dev.c:1707
blkdev_open+0x36b/0x490 fs/block_dev.c:1846
do_dentry_open+0xda7/0x1810 fs/open.c:797
vfs_open+0xaf/0xe0 fs/open.c:906
do_last fs/namei.c:3416 [inline]
path_openat+0x17f4/0x6bb0 fs/namei.c:3533
do_filp_open+0x2b8/0x710 fs/namei.c:3563
do_sys_open+0x642/0xa30 fs/open.c:1089
__do_sys_open fs/open.c:1107 [inline]
__se_sys_open+0xad/0xc0 fs/open.c:1102
__x64_sys_open+0x4a/0x70 fs/open.c:1102
do_syscall_64+0xbc/0xf0 arch/x86/entry/common.c:297
entry_SYSCALL_64_after_hwframe+0x63/0xe7
RIP: 0033:0x7f7c9e529120
Code: 48 8b 15 1b 4d 2b 00 f7 d8 64 89 02 83 c8 ff c3 90 90 90 90 90 90 90 90 90 90 83 3d d5 a4 2b 00 00 75 10 b8 02 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 5e 8c 01 00 48 89 04 24
RSP: 002b:00007fff97dee0a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000002
RAX: ffffffffffffffda RBX: 00007fff97dee5c0 RCX: 00007f7c9e529120
RDX: 00007fff97dee3c0 RSI: 0000000000000800 RDI: 00007fff97dee3c0
RBP: 00000000017ac010 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff97dee5c0
R13: 00007fff97dee3c0 R14: 00000000017ac010 R15: 0000000000000000

Local variable description: ----sshdr.i@sd_revalidate_disk
Variable was created at:
sd_spinup_disk drivers/scsi/sd.c:3108 [inline]
sd_revalidate_disk+0x2d3/0xbef0 drivers/scsi/sd.c:3114
check_disk_change+0x423/0x4b0 fs/block_dev.c:1499
=====================================================


Tested on:

commit: 1e76a3e5 kmsan: replace __GFP_NO_KMSAN_SHADOW with kmsan_i..
git tree: https://github.com/google/kmsan.git
console output: https://syzkaller.appspot.com/x/log.txt?x=144fd0a0e00000
kernel config: https://syzkaller.appspot.com/x/.config?x=f03c659d0830ab8d
dashboard link: https://syzkaller.appspot.com/bug?extid=e7d46eb426883fb97efd
compiler: clang version 9.0.0 (/home/glider/llvm/clang 80fee25776c2fb61e74c1ecb1a523375c2500b69)
patch: https://syzkaller.appspot.com/x/patch.diff?x=110434ab600000