syzbot


divide error in do_journal_end (2)

Status: fixed on 2021/08/12 11:53
Reported-by: syzbot+7e1ae99949915745b8da@syzkaller.appspotmail.com
Fix commit: 47b4b8f0d378 reiserfs: add check for invalid 1st journal block
First crash: 1124d, last: 1013d
Fix bisection: fixed by (bisect log) :
commit 47b4b8f0d3780959a15e0118da83c42c688d14e6
Author: Pavel Skripkin <paskripkin@gmail.com>
Date: Mon May 17 12:15:45 2021 +0000

  reiserfs: add check for invalid 1st journal block

  
Similar bugs (9)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream divide error in do_journal_end reiserfs 2 1247d 1274d 0/26 auto-closed as invalid on 2021/03/19 22:00
linux-4.14 divide error in do_journal_end (2) C error 1 599d 1087d 0/1 upstream: reported C repro on 2021/04/28 16:52
upstream divide error in do_journal_end (3) reiserfs C error done 83 103d 484d 0/26 auto-obsoleted due to no activity on 2024/04/14 06:39
upstream divide error in do_journal_end (2) reiserfs C inconclusive 2 1074d 1073d 20/26 fixed on 2021/11/10 00:50
linux-5.15 divide error in do_journal_end origin:upstream C 10 9h51m 286d 0/3 upstream: reported C repro on 2023/07/08 18:42
linux-4.19 divide error in do_journal_end (3) reiserfs C error 1 449d 449d 0/1 upstream: reported C repro on 2023/01/27 02:59
linux-6.1 divide error in do_journal_end origin:upstream C 3 11d 112d 0/3 upstream: reported C repro on 2023/12/30 01:46
linux-4.14 divide error in do_journal_end C done 1 1197d 1257d 1/1 fixed on 2021/02/21 17:18
linux-4.19 divide error in do_journal_end C done 2 1209d 1269d 1/1 fixed on 2021/01/27 05:38
Fix bisection attempts (4)
Created Duration User Patch Repo Result
2021/08/10 16:49 3h31m bisect fix linux-4.19.y job log (1)
2021/07/11 16:21 22m bisect fix linux-4.19.y job log (0) log
2021/05/29 22:19 26m bisect fix linux-4.19.y job log (0) log
2021/04/21 21:20 23m bisect fix linux-4.19.y job log (0) log

Sample crash report:
reiserfs: using flush barriers
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 r5 hash to sort names
REISERFS (device loop0): Created .reiserfs_priv - reserved for xattr storage.
divide error: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 8093 Comm: syz-executor011 Not tainted 4.19.194-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:ffff88808cd37b40 EFLAGS: 00010246
RAX: 0000000000000005 RBX: dffffc0000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90005b37048 R08: 0000000000001000 R09: 0000000000000001
R10: 0000000000000001 R11: 0000000000000000 R12: ffff88808c6ed000
R13: ffff888099993700 R14: ffff8880b2538d80 R15: 0000000000000001
FS:  0000000001f28300(0000) GS:ffff8880ba000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000001f31628 CR3: 00000000b5377000 CR4: 00000000001406f0
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:0x4461f7
Code: 06 00 48 83 c4 08 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 c3 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 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fffb08b79b8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 000000000008814d RCX: 00000000004461f7
RDX: 00007fffb08b7a79 RSI: 0000000000000002 RDI: 00007fffb08b7a70
RBP: 00007fffb08b7a70 R08: 00000000ffffffff R09: 00007fffb08b7850
R10: 0000000001f29663 R11: 0000000000000206 R12: 00007fffb08b8ae0
R13: 0000000001f295f0 R14: 00007fffb08b79e0 R15: 0000000000000001
Modules linked in:
---[ end trace a55becaf7ba159a0 ]---
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:ffff88808cd37b40 EFLAGS: 00010246
RAX: 0000000000000005 RBX: dffffc0000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90005b37048 R08: 0000000000001000 R09: 0000000000000001
R10: 0000000000000001 R11: 0000000000000000 R12: ffff88808c6ed000
R13: ffff888099993700 R14: ffff8880b2538d80 R15: 0000000000000001
FS:  0000000001f28300(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb56c511018 CR3: 00000000b5377000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/06/11 15:58 linux-4.19.y 9a2dc0e6c531 1ba81399 .config console log report syz C ci2-linux-4-19 divide error in do_journal_end
2021/04/29 22:05 linux-4.19.y 97a8651cadce 77e2b668 .config console log report syz C ci2-linux-4-19 divide error in do_journal_end
2021/03/22 21:11 linux-4.19.y 125222814e7b 8092f30d .config console log report syz C ci2-linux-4-19 divide error in do_journal_end
2021/03/22 19:00 linux-4.19.y 125222814e7b 8092f30d .config console log report info ci2-linux-4-19 divide error in do_journal_end
* Struck through repros no longer work on HEAD.