WARNING in bdev_read

From: syzbot
Date: Thu Oct 17 2019 - 13:02:11 EST


Hello,

syzbot found the following crash on:

HEAD commit: bc88f85c kthread: make __kthread_queue_delayed_work static
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=14e25608e00000
kernel config: https://syzkaller.appspot.com/x/.config?x=e0ac4d9b35046343
dashboard link: https://syzkaller.appspot.com/bug?extid=787bcbef9b5fec61944b
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=159fd353600000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17e82173600000

The bug was bisected to:

commit c48c9f7ff32b8b3965a08e40eb6763682d905b5d
Author: Valdis KlÄtnieks <valdis.kletnieks@xxxxxx>
Date: Wed Aug 28 16:08:17 2019 +0000

staging: exfat: add exfat filesystem code to staging

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=154a3227600000
final crash: https://syzkaller.appspot.com/x/report.txt?x=174a3227600000
console output: https://syzkaller.appspot.com/x/log.txt?x=134a3227600000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+787bcbef9b5fec61944b@xxxxxxxxxxxxxxxxxxxxxxxxx
Fixes: c48c9f7ff32b ("staging: exfat: add exfat filesystem code to staging")

[EXFAT] trying to mount...
------------[ cut here ]------------
[EXFAT] No bh, device seems wrong or to be ejected.
WARNING: CPU: 0 PID: 9425 at drivers/staging/exfat/exfat_blkdev.c:62 bdev_read+0x258/0x2b0 drivers/staging/exfat/exfat_blkdev.c:62
Kernel panic - not syncing: panic_on_warn set ...
CPU: 0 PID: 9425 Comm: syz-executor040 Not tainted 5.4.0-rc3+ #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+0x172/0x1f0 lib/dump_stack.c:113
panic+0x2e3/0x75c kernel/panic.c:221
__warn.cold+0x2f/0x35 kernel/panic.c:582
report_bug+0x289/0x300 lib/bug.c:195
fixup_bug arch/x86/kernel/traps.c:179 [inline]
fixup_bug arch/x86/kernel/traps.c:174 [inline]
do_error_trap+0x11b/0x200 arch/x86/kernel/traps.c:272
do_invalid_op+0x37/0x50 arch/x86/kernel/traps.c:291
invalid_op+0x23/0x30 arch/x86/entry/entry_64.S:1028
RIP: 0010:bdev_read+0x258/0x2b0 drivers/staging/exfat/exfat_blkdev.c:62
Code: ff df 80 3c 02 00 0f 84 51 ff ff ff 4c 89 e7 e8 9e 05 3a fc e9 44 ff ff ff e8 14 a8 fe fb 48 c7 c7 20 0b 3d 88 e8 c0 ea cf fb <0f> 0b eb 8a e8 7f 04 3a fc e9 17 fe ff ff e8 b5 04 3a fc e9 99 fe
RSP: 0018:ffff8880a4d77ad0 EFLAGS: 00010282
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff815cb646 RDI: ffffed10149aef4c
RBP: ffff8880a4d77b10 R08: ffff888099ba4400 R09: ffffed1015d04101
R10: ffffed1015d04100 R11: ffff8880ae820807 R12: 0000000000000000
R13: ffff888087d40000 R14: 0000000000000001 R15: 0000000000000200
sector_read+0x156/0x1e0 drivers/staging/exfat/exfat_core.c:3615
ffsMountVol drivers/staging/exfat/exfat_super.c:374 [inline]
exfat_fill_super.cold+0x4d6/0xdba drivers/staging/exfat/exfat_super.c:3869
mount_bdev+0x304/0x3c0 fs/super.c:1415
exfat_fs_mount+0x35/0x40 drivers/staging/exfat/exfat_super.c:3936
legacy_get_tree+0x108/0x220 fs/fs_context.c:647
vfs_get_tree+0x8e/0x300 fs/super.c:1545
do_new_mount fs/namespace.c:2823 [inline]
do_mount+0x143d/0x1d10 fs/namespace.c:3143
ksys_mount+0xdb/0x150 fs/namespace.c:3352
__do_sys_mount fs/namespace.c:3366 [inline]
__se_sys_mount fs/namespace.c:3363 [inline]
__x64_sys_mount+0xbe/0x150 fs/namespace.c:3363
do_syscall_64+0xfa/0x760 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x440179
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 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 0f 83 fb 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fff0f902998 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0030656c69662f2e RCX: 0000000000440179
RDX: 0000000020000200 RSI: 00000000200001c0 RDI: 0000000020000400
RBP: 00000000006ca018 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000002800001 R11: 0000000000000246 R12: 0000000000401a00
R13: 0000000000401a90 R14: 0000000000000000 R15: 0000000000000000
Kernel Offset: disabled
Rebooting in 86400 seconds..


---
This bug 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@xxxxxxxxxxxxxxxxx

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection
syzbot can test patches for this bug, for details see:
https://goo.gl/tpsmEJ#testing-patches