divide error in do_journal_end

9 views
Skip to first unread message

syzbot

unread,
Oct 28, 2020, 1:07:22 PM10/28/20
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: ad326970 Linux 4.19.152
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=176ed99c500000
kernel config: https://syzkaller.appspot.com/x/.config?x=1ec7667b405157e
dashboard link: https://syzkaller.appspot.com/bug?extid=bb4f0cb3d4364a2ae40a
compiler: gcc (GCC) 10.1.0-syz 20200507

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

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

REISERFS (device loop1): Using tea hash to sort names
REISERFS (device loop1): using 3.5.x disk format
REISERFS (device loop1): Created .reiserfs_priv - reserved for xattr storage.
divide error: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 8124 Comm: syz-executor.1 Not tainted 4.19.152-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:do_journal_end+0x15be/0x4840 fs/reiserfs/journal.c:4089
Code: c6 41 84 f0 0f 85 51 2b 00 00 83 e2 07 38 d1 40 0f 9e c6 84 c9 0f 95 c2 40 84 d6 0f 85 3a 2b 00 00 8b 4b 14 48 8d 7d 18 31 d2 <48> f7 f1 4a 8d 34 2a 48 89 fa 48 b8 00 00 00 00 00 fc ff df 48 c1
RSP: 0018:ffff88807890fa78 EFLAGS: 00010246
RAX: 0000000000000009 RBX: ffff888033230000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff888066e8e898
RBP: ffff888066e8e880 R08: 0000000000000001 R09: ffffed10066461ff
R10: ffff888033230ffb R11: 0000000000000000 R12: 0000000000001000
R13: 0000000000000000 R14: ffff88808b538930 R15: ffffc90013431000
FS: 0000000001e36940(0000) GS:ffff8880ba000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000337cc10 CR3: 00000000788cd000 CR4: 00000000001426f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
do_journal_release fs/reiserfs/journal.c:1926 [inline]
journal_release+0x14d/0x4d0 fs/reiserfs/journal.c:1981
reiserfs_put_super+0xe0/0x5c0 fs/reiserfs/super.c:616
generic_shutdown_super+0x144/0x370 fs/super.c:456
kill_block_super+0x97/0xf0 fs/super.c:1185
deactivate_locked_super+0x94/0x160 fs/super.c:329
deactivate_super+0x174/0x1a0 fs/super.c:360
cleanup_mnt+0x1a8/0x290 fs/namespace.c:1098
task_work_run+0x148/0x1c0 kernel/task_work.c:113
tracehook_notify_resume include/linux/tracehook.h:193 [inline]
exit_to_usermode_loop+0x251/0x2a0 arch/x86/entry/common.c:167
prepare_exit_to_usermode arch/x86/entry/common.c:198 [inline]
syscall_return_slowpath arch/x86/entry/common.c:271 [inline]
do_syscall_64+0x538/0x620 arch/x86/entry/common.c:296
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x4608e7
Code: 64 89 04 25 d0 02 00 00 58 5f ff d0 48 89 c7 e8 2f be ff ff 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 a6 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 ad 89 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffc12010078 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 0000000000114903 RCX: 00000000004608e7
RDX: 00000000004031f8 RSI: 0000000000000002 RDI: 00007ffc12010120
RBP: 00000000000007bc R08: 0000000000000000 R09: 000000000000000b
R10: 0000000000000005 R11: 0000000000000246 R12: 00007ffc120111b0
R13: 0000000001e37a60 R14: 0000000000000000 R15: 00007ffc120111b0
Modules linked in:
---[ end trace ec87e0f2773af81d ]---
RIP: 0010:do_journal_end+0x15be/0x4840 fs/reiserfs/journal.c:4089
Code: c6 41 84 f0 0f 85 51 2b 00 00 83 e2 07 38 d1 40 0f 9e c6 84 c9 0f 95 c2 40 84 d6 0f 85 3a 2b 00 00 8b 4b 14 48 8d 7d 18 31 d2 <48> f7 f1 4a 8d 34 2a 48 89 fa 48 b8 00 00 00 00 00 fc ff df 48 c1
RSP: 0018:ffff88807890fa78 EFLAGS: 00010246
RAX: 0000000000000009 RBX: ffff888033230000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff888066e8e898
RBP: ffff888066e8e880 R08: 0000000000000001 R09: ffffed10066461ff
R10: ffff888033230ffb R11: 0000000000000000 R12: 0000000000001000
R13: 0000000000000000 R14: ffff88808b538930 R15: ffffc90013431000
FS: 0000000001e36940(0000) GS:ffff8880ba000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000c000543000 CR3: 00000000788cd000 CR4: 00000000001426f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


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

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

syzbot

unread,
Oct 28, 2020, 3:43:23 PM10/28/20
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: ad326970 Linux 4.19.152
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=11041b54500000
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1048b388500000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13576012500000

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

REISERFS (device loop0): journal params: device loop0, size 8192, journal first block 10, max trans len 1024, max batch 900, max commit age 30, max trans age 30
REISERFS (device loop0): checking transaction log (loop0)
REISERFS (device loop0): Using tea hash to sort names
REISERFS (device loop0): using 3.5.x disk format
REISERFS (device loop0): Created .reiserfs_priv - reserved for xattr storage.
divide error: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 8124 Comm: syz-executor978 Not tainted 4.19.152-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:do_journal_end+0x247f/0x4840 fs/reiserfs/journal.c:4204
Code: c1 45 84 ca 0f 85 89 17 00 00 83 e2 07 40 38 d6 41 0f 9e c1 40 84 f6 0f 95 c2 41 84 d1 0f 85 70 17 00 00 41 8b 7c 24 14 31 d2 <48> f7 f7 49 8d 7d 18 48 8d 34 0a 48 89 f8 48 c1 e8 03 80 3c 18 00
RSP: 0018:ffff888094d37b40 EFLAGS: 00010246
RAX: 0000000000000005 RBX: dffffc0000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90005b27048 R08: 0000000000001000 R09: 0000000000000001
R10: 0000000000000001 R11: 0000000000000000 R12: ffff88808e19f000
R13: ffff88809a1f2380 R14: ffff888095122880 R15: 0000000000000001
FS: 00000000018de880(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fff8da57ff8 CR3: 00000000abda4000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
reiserfs_sync_fs+0xf8/0x120 fs/reiserfs/super.c:78
__sync_filesystem fs/sync.c:39 [inline]
sync_filesystem+0x1b5/0x250 fs/sync.c:67
generic_shutdown_super+0x70/0x370 fs/super.c:442
kill_block_super+0x97/0xf0 fs/super.c:1185
deactivate_locked_super+0x94/0x160 fs/super.c:329
deactivate_super+0x174/0x1a0 fs/super.c:360
cleanup_mnt+0x1a8/0x290 fs/namespace.c:1098
task_work_run+0x148/0x1c0 kernel/task_work.c:113
tracehook_notify_resume include/linux/tracehook.h:193 [inline]
exit_to_usermode_loop+0x251/0x2a0 arch/x86/entry/common.c:167
prepare_exit_to_usermode arch/x86/entry/common.c:198 [inline]
syscall_return_slowpath arch/x86/entry/common.c:271 [inline]
do_syscall_64+0x538/0x620 arch/x86/entry/common.c:296
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x448177
Code: 00 00 00 b8 08 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 8d a2 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 b8 a6 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 6d a2 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fff8da581c8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 00007fff8da59340 RCX: 0000000000448177
RDX: 0000000000400cf7 RSI: 0000000000000002 RDI: 00007fff8da58270
RBP: 000000000000bc3f R08: 0000000000000000 R09: 0000000000000009
R10: 0000000000000005 R11: 0000000000000206 R12: 00007fff8da592e0
R13: 00000000018df880 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
---[ end trace 2d5a958ade077014 ]---
RIP: 0010:do_journal_end+0x247f/0x4840 fs/reiserfs/journal.c:4204
Code: c1 45 84 ca 0f 85 89 17 00 00 83 e2 07 40 38 d6 41 0f 9e c1 40 84 f6 0f 95 c2 41 84 d1 0f 85 70 17 00 00 41 8b 7c 24 14 31 d2 <48> f7 f7 49 8d 7d 18 48 8d 34 0a 48 89 f8 48 c1 e8 03 80 3c 18 00
RSP: 0018:ffff888094d37b40 EFLAGS: 00010246
RAX: 0000000000000005 RBX: dffffc0000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90005b27048 R08: 0000000000001000 R09: 0000000000000001
R10: 0000000000000001 R11: 0000000000000000 R12: ffff88808e19f000
R13: ffff88809a1f2380 R14: ffff888095122880 R15: 0000000000000001
FS: 00000000018de880(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fff8da57ff8 CR3: 00000000abda4000 CR4: 00000000001406e0

syzbot

unread,
Jan 26, 2021, 6:55:05 PM1/26/21
to syzkaller...@googlegroups.com
syzbot suspects this issue was fixed by commit:

commit b8590c82b3ccf9fb4d9f0b0b097be10736869333
Author: Rustam Kovhaev <rkov...@gmail.com>
Date: Sun Nov 1 14:09:58 2020 +0000

reiserfs: add check for an invalid ih_entry_count

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=13ea7454d00000
start commit: ad326970 Linux 4.19.152
git tree: linux-4.19.y
If the result looks correct, please mark the issue as fixed by replying with:

#syz fix: reiserfs: add check for an invalid ih_entry_count

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