syzbot


general protection fault in fix_nodes

Status: upstream: reported syz repro on 2022/12/15 05:04
Reported-by: syzbot+82c92daf6ac2ee1979b9@syzkaller.appspotmail.com
First crash: 469d, last: 469d
Fix bisection: failed (error log, bisect log)
  
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 general protection fault in fix_nodes C error 1 476d 476d 0/1 upstream: reported C repro on 2022/12/08 10:03
linux-6.1 KASAN: null-ptr-deref Read in fix_nodes origin:upstream missing-backport C done 6 87d 346d 0/3 upstream: reported C repro on 2023/04/17 07:27
upstream KASAN: null-ptr-deref Read in fix_nodes reiserfs C done done 17 84d 352d 0/26 upstream: reported C repro on 2023/04/11 06:54
linux-5.15 KASAN: null-ptr-deref Read in fix_nodes origin:upstream C 7 9d23h 348d 0/3 upstream: reported C repro on 2023/04/15 23:10

Sample crash report:
kasan: CONFIG_KASAN_INLINE enabled
REISERFS (device loop5): using ordered data mode
kasan: GPF could be caused by NULL-ptr deref or user memory access
REISERFS (device loop3): journal params: device loop3, size 512, journal first block 18, max trans len 256, max batch 225, max commit age 30, max trans age 30
reiserfs: using flush barriers
general protection fault: 0000 [#1] PREEMPT SMP KASAN
REISERFS warning: reiserfs-5093 is_leaf: item entry count seems wrong *3.5*[2 3 0(1) DIR], item_len 35, item_location 4029, free_space(entry_count) 2
Modules linked in:
CPU: 1 PID: 9531 Comm: syz-executor.2 Not tainted 4.14.302-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
REISERFS error (device loop4): vs-5150 search_by_key: invalid format found in block 544. Fsck?
task: ffff8880971d2540 task.stack: ffff888091658000
RIP: 0010:constant_test_bit arch/x86/include/asm/bitops.h:328 [inline]
RIP: 0010:buffer_locked include/linux/buffer_head.h:119 [inline]
RIP: 0010:fix_nodes+0x3ea/0x7140 fs/reiserfs/fix_node.c:2582
RSP: 0018:ffff88809165f3d8 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000024 RCX: 61c8864680b583eb
RDX: 0000000000000000 RSI: ffff8880896783f0 RDI: ffff8880ab78c500
RBP: 0000000000000000 R08: 000000000000005e R09: 000000000000000a
REISERFS (device loop4): Remounting filesystem read-only
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88809a0b8d80
R13: 00000000fffffc10 R14: ffff88809165f6c8 R15: ffff88809165fb08
FS:  00007f6363f94700(0000) GS:ffff8880ba500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fee14800000 CR3: 000000009cd8a000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
REISERFS error (device loop4): vs-13050 reiserfs_update_sd_size: i/o failure occurred trying to update [2 3 0x0 SD] stat data
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
REISERFS warning (device loop4): clm-6006 reiserfs_dirty_inode: writing inode 2 on readonly FS
 reiserfs_cut_from_item+0x212/0x1570 fs/reiserfs/stree.c:1752
 reiserfs_do_truncate+0x53f/0xf50 fs/reiserfs/stree.c:1983
 reiserfs_truncate_file+0x17e/0xdb0 fs/reiserfs/inode.c:2319
 reiserfs_setattr+0xb2d/0xe00 fs/reiserfs/inode.c:3411
 notify_change+0x56b/0xd10 fs/attr.c:315
 do_truncate+0xff/0x1a0 fs/open.c:63
 do_sys_ftruncate.constprop.0+0x3a3/0x480 fs/open.c:205
 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
 entry_SYSCALL_64_after_hwframe+0x5e/0xd3
RIP: 0033:0x7f636cc640d9
RSP: 002b:00007f6363f94168 EFLAGS: 00000246 ORIG_RAX: 000000000000004d
RAX: ffffffffffffffda RBX: 00007f636cd84120 RCX: 00007f636cc640d9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: 00007f636ccbfae9 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fff4badc30f R14: 00007f6363f94300 R15: 0000000000022000
Code: 3c 03 0f 8e 08 65 00 00 41 39 9e a8 02 00 00 0f 85 58 44 00 00 e8 f7 e5 a6 ff 48 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 78 67 00 00 48 8b 45 00 a8 04 0f 84 f4 00 00 
RIP: constant_test_bit arch/x86/include/asm/bitops.h:328 [inline] RSP: ffff88809165f3d8
RIP: buffer_locked include/linux/buffer_head.h:119 [inline] RSP: ffff88809165f3d8
RIP: fix_nodes+0x3ea/0x7140 fs/reiserfs/fix_node.c:2582 RSP: ffff88809165f3d8
---[ end trace c9b4ae8ff33872f4 ]---
----------------
Code disassembly (best guess):
   0:	3c 03                	cmp    $0x3,%al
   2:	0f 8e 08 65 00 00    	jle    0x6510
   8:	41 39 9e a8 02 00 00 	cmp    %ebx,0x2a8(%r14)
   f:	0f 85 58 44 00 00    	jne    0x446d
  15:	e8 f7 e5 a6 ff       	callq  0xffa6e611
  1a:	48 89 ea             	mov    %rbp,%rdx
  1d:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  24:	fc ff df
  27:	48 c1 ea 03          	shr    $0x3,%rdx
* 2b:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1) <-- trapping instruction
  2f:	0f 85 78 67 00 00    	jne    0x67ad
  35:	48 8b 45 00          	mov    0x0(%rbp),%rax
  39:	a8 04                	test   $0x4,%al
  3b:	0f                   	.byte 0xf
  3c:	84 f4                	test   %dh,%ah

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/12/15 05:04 linux-4.14.y c4215ee4771b b18f0a64 .config console log report syz [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-4-14 general protection fault in fix_nodes
* Struck through repros no longer work on HEAD.