kernel BUG at fs/reiserfs/lock.c:LINE! (2)

6 views
Skip to first unread message

syzbot

unread,
Feb 20, 2020, 12:54:14 AM2/20/20
to syzkaller...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: 4fccc250 Linux 4.19.105
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=141dba29e00000
kernel config: https://syzkaller.appspot.com/x/.config?x=d603c1cf5fa8b03d
dashboard link: https://syzkaller.appspot.com/bug?extid=3794dc94be61e6d17705
compiler: gcc (GCC) 9.0.0 20181231 (experimental)

Unfortunately, I don't have any reproducer for this crash yet.

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+3794dc...@syzkaller.appspotmail.com

REISERFS warning (device loop5): reiserfs_fill_super: Cannot allocate memory for journal device name
------------[ cut here ]------------
kernel BUG at fs/reiserfs/lock.c:44!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 4800 Comm: syz-executor.5 Not tainted 4.19.105-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:reiserfs_write_unlock+0xeb/0x110 fs/reiserfs/lock.c:44
Code: 5d c3 e8 78 fb 86 ff 48 8d 7b 28 48 c7 83 a8 00 00 00 00 00 00 00 e8 74 cb 6f 05 e8 5f fb 86 ff 5b 41 5c 5d c3 e8 55 fb 86 ff <0f> 0b e8 de 98 be ff eb a1 e8 f7 98 be ff e9 33 ff ff ff e8 ed 98
RSP: 0018:ffff888050befa90 EFLAGS: 00010246
RAX: 0000000000040000 RBX: ffff888096b1a900 RCX: ffffc90005b7e000
RDX: 0000000000040000 RSI: ffffffff81e3e16b RDI: ffff888096b1a9a8
RBP: ffff888050befaa0 R08: 0000000000000065 R09: ffffed1015d25079
R10: ffffed1015d25078 R11: ffff8880ae9283c7 R12: ffff888096b1a900
R13: ffff888096b1abc8 R14: 00000000ffffffea R15: ffff88804f190880
FS: 00007f95aa5d2700(0000) GS:ffff8880ae800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b32e22000 CR3: 000000009ff94000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
reiserfs_fill_super+0x29ce/0x2e90 fs/reiserfs/super.c:2222
mount_bdev+0x304/0x3c0 fs/super.c:1158
get_super_block+0x35/0x40 fs/reiserfs/super.c:2609
mount_fs+0xa8/0x31f fs/super.c:1261
vfs_kern_mount.part.0+0x6f/0x410 fs/namespace.c:961
vfs_kern_mount fs/namespace.c:951 [inline]
do_new_mount fs/namespace.c:2469 [inline]
do_mount+0x53e/0x2bc0 fs/namespace.c:2799
ksys_mount+0xdb/0x150 fs/namespace.c:3015
__do_sys_mount fs/namespace.c:3029 [inline]
__se_sys_mount fs/namespace.c:3026 [inline]
__x64_sys_mount+0xbe/0x150 fs/namespace.c:3026
do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x45ee9a
Code: b8 a6 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 4d 8c fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 2a 8c fb ff c3 66 0f 1f 84 00 00 00 00 00
RSP: 002b:00007f95aa5d1a68 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f95aa5d26d4 RCX: 000000000045ee9a
RDX: 00007f95aa5d1ae0 RSI: 0000000020000140 RDI: 00007f95aa5d1b00
RBP: 000000000076bf20 R08: 00007f95aa5d1b40 R09: 00007f95aa5d1ae0
R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000003
R13: 0000000000000bb8 R14: 00000000004cd9e0 R15: 0000000000000062
Modules linked in:
---[ end trace 6c9751a25477e683 ]---
RIP: 0010:reiserfs_write_unlock+0xeb/0x110 fs/reiserfs/lock.c:44
Code: 5d c3 e8 78 fb 86 ff 48 8d 7b 28 48 c7 83 a8 00 00 00 00 00 00 00 e8 74 cb 6f 05 e8 5f fb 86 ff 5b 41 5c 5d c3 e8 55 fb 86 ff <0f> 0b e8 de 98 be ff eb a1 e8 f7 98 be ff e9 33 ff ff ff e8 ed 98
RSP: 0018:ffff888050befa90 EFLAGS: 00010246
RAX: 0000000000040000 RBX: ffff888096b1a900 RCX: ffffc90005b7e000
RDX: 0000000000040000 RSI: ffffffff81e3e16b RDI: ffff888096b1a9a8
RBP: ffff888050befaa0 R08: 0000000000000065 R09: ffffed1015d25079
R10: ffffed1015d25078 R11: ffff8880ae9283c7 R12: ffff888096b1a900
R13: ffff888096b1abc8 R14: 00000000ffffffea R15: ffff88804f190880
FS: 00007f95aa5d2700(0000) GS:ffff8880ae800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffef3ccbf68 CR3: 000000009ff94000 CR4: 00000000001426f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
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 syzk...@googlegroups.com.

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

syzbot

unread,
Feb 20, 2020, 1:27:15 AM2/20/20
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following crash on:

HEAD commit: 4fccc250 Linux 4.19.105
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=11149de9e00000
kernel config: https://syzkaller.appspot.com/x/.config?x=d603c1cf5fa8b03d
dashboard link: https://syzkaller.appspot.com/bug?extid=3794dc94be61e6d17705
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12fc23d9e00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11179f95e00000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+3794dc...@syzkaller.appspotmail.com

RBP: 0000000000000006 R08: 00007ffeec4e5e20 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffeec4e5e20
R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000000
REISERFS warning (device loop0): reiserfs_fill_super: Cannot allocate memory for journal device name
------------[ cut here ]------------
kernel BUG at fs/reiserfs/lock.c:44!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 8336 Comm: syz-executor040 Not tainted 4.19.105-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:reiserfs_write_unlock+0xeb/0x110 fs/reiserfs/lock.c:44
Code: 5d c3 e8 78 fb 86 ff 48 8d 7b 28 48 c7 83 a8 00 00 00 00 00 00 00 e8 74 cb 6f 05 e8 5f fb 86 ff 5b 41 5c 5d c3 e8 55 fb 86 ff <0f> 0b e8 de 98 be ff eb a1 e8 f7 98 be ff e9 33 ff ff ff e8 ed 98
RSP: 0018:ffff88808ecb7a90 EFLAGS: 00010293
RAX: ffff88807e192100 RBX: ffff8880891f0900 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff81e3e16b RDI: ffff8880891f09a8
RBP: ffff88808ecb7aa0 R08: 0000000000000065 R09: ffffed1015d25079
R10: ffffed1015d25078 R11: ffff8880ae9283c7 R12: ffff8880891f0900
R13: ffff8880891f0bc8 R14: 00000000ffffffea R15: ffff8880a82f4140
FS: 000000000244f880(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000625208 CR3: 00000000a885c000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
reiserfs_fill_super+0x29ce/0x2e90 fs/reiserfs/super.c:2222
mount_bdev+0x304/0x3c0 fs/super.c:1158
get_super_block+0x35/0x40 fs/reiserfs/super.c:2609
mount_fs+0xa8/0x31f fs/super.c:1261
vfs_kern_mount.part.0+0x6f/0x410 fs/namespace.c:961
vfs_kern_mount fs/namespace.c:951 [inline]
do_new_mount fs/namespace.c:2469 [inline]
do_mount+0x53e/0x2bc0 fs/namespace.c:2799
ksys_mount+0xdb/0x150 fs/namespace.c:3015
__do_sys_mount fs/namespace.c:3029 [inline]
__se_sys_mount fs/namespace.c:3026 [inline]
__x64_sys_mount+0xbe/0x150 fs/namespace.c:3026
do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x44867a
Code: b8 a6 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 bd a2 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 9a a2 fb ff c3 66 0f 1f 84 00 00 00 00 00
RSP: 002b:00007ffeec4e5d88 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 000000000044867a
RDX: 00007ffeec4e5dc0 RSI: 0000000020000140 RDI: 00007ffeec4e5de0
RBP: 0000000000000006 R08: 00007ffeec4e5e20 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffeec4e5e20
R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
---[ end trace 96121f8b88a9933f ]---
RIP: 0010:reiserfs_write_unlock+0xeb/0x110 fs/reiserfs/lock.c:44
Code: 5d c3 e8 78 fb 86 ff 48 8d 7b 28 48 c7 83 a8 00 00 00 00 00 00 00 e8 74 cb 6f 05 e8 5f fb 86 ff 5b 41 5c 5d c3 e8 55 fb 86 ff <0f> 0b e8 de 98 be ff eb a1 e8 f7 98 be ff e9 33 ff ff ff e8 ed 98
RSP: 0018:ffff88808ecb7a90 EFLAGS: 00010293
RAX: ffff88807e192100 RBX: ffff8880891f0900 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff81e3e16b RDI: ffff8880891f09a8
RBP: ffff88808ecb7aa0 R08: 0000000000000065 R09: ffffed1015d25079
R10: ffffed1015d25078 R11: ffff8880ae9283c7 R12: ffff8880891f0900
R13: ffff8880891f0bc8 R14: 00000000ffffffea R15: ffff8880a82f4140
FS: 000000000244f880(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000625208 CR3: 00000000a885c000 CR4: 00000000001406e0

syzbot

unread,
Mar 21, 2020, 5:57:04 AM3/21/20
to syzkaller...@googlegroups.com
syzbot suspects this bug was fixed by commit:

commit ef3d73fe8836192410cbc2d2a15b2946e26a45d1
Author: Jan Kara <ja...@suse.cz>
Date: Thu Dec 12 10:35:58 2019 +0000

reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=145e1c23e00000
start commit: 4fccc250 Linux 4.19.105
git tree: linux-4.19.y
If the result looks correct, please mark the bug fixed by replying with:

#syz fix: reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling

For information about bisection process see: https://goo.gl/tpsmEJ#bisection
Reply all
Reply to author
Forward
0 new messages