syzbot


general protection fault in nilfs_segctor_do_construct

Status: upstream: reported C repro on 2022/10/30 19:35
Reported-by: syzbot+dddd9391b465918f0abf@syzkaller.appspotmail.com
First crash: 753d, last: 640d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream BUG: unable to handle kernel NULL pointer dereference in nilfs_segctor_do_construct nilfs 11 519d 736d 0/28 auto-obsoleted due to no activity on 2023/09/28 23:14
linux-6.1 BUG: unable to handle kernel NULL pointer dereference in nilfs_segctor_do_construct 1 557d 557d 0/3 auto-obsoleted due to no activity on 2023/08/23 09:09
Fix bisection attempts (2)
Created Duration User Patch Repo Result
2023/02/20 05:14 23m bisect fix linux-4.14.y OK (0) job log log
2023/01/21 04:16 23m bisect fix linux-4.14.y OK (0) job log log

Sample crash report:
IPVS: ftp: loaded support on port[0] = 21
NILFS (loop0): broken superblock, retrying with spare superblock (blocksize = 1024)
NILFS (loop0): segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 1 PID: 8000 Comm: segctord Not tainted 4.14.296-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/11/2022
task: ffff888095a94600 task.stack: ffff8880959a0000
RIP: 0010:__read_once_size include/linux/compiler.h:185 [inline]
RIP: 0010:compound_head include/linux/page-flags.h:147 [inline]
RIP: 0010:trylock_page include/linux/pagemap.h:469 [inline]
RIP: 0010:lock_page include/linux/pagemap.h:479 [inline]
RIP: 0010:nilfs_segctor_prepare_write fs/nilfs2/segment.c:1677 [inline]
RIP: 0010:nilfs_segctor_do_construct+0x1d5a/0x79c0 fs/nilfs2/segment.c:2087
RSP: 0018:ffff8880959a7b98 EFLAGS: 00010206
RAX: 0000000000000030 RBX: ffff88808d7c0dc8 RCX: 0000000000000001
RDX: 0000000000000000 RSI: 00000000ffffffff RDI: 0000000000000180
RBP: 0000000000000160 R08: 0000000000037ba8 R09: 0000000000000001
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88808d7c0dd8
R13: ffff88808d7e0cf0 R14: dffffc0000000000 R15: ffffea0002a99fc0
FS:  0000000000000000(0000) GS:ffff8880ba500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb5f3d56000 CR3: 00000000a1c86000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 nilfs_segctor_construct+0x6db/0x8e0 fs/nilfs2/segment.c:2394
 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2502 [inline]
 nilfs_segctor_thread+0x3ad/0xdb0 fs/nilfs2/segment.c:2586
 kthread+0x30d/0x420 kernel/kthread.c:232
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404
Code: 89 3c 24 e9 b0 00 00 00 e8 a4 c2 e5 fe 31 d2 be de 01 00 00 48 c7 c7 c0 f2 b9 87 e8 e1 a5 c9 fe 48 8d 7d 20 48 89 f8 48 c1 e8 03 <42> 80 3c 30 00 0f 85 38 44 00 00 48 8b 55 20 49 89 ef f6 c2 01 
RIP: __read_once_size include/linux/compiler.h:185 [inline] RSP: ffff8880959a7b98
RIP: compound_head include/linux/page-flags.h:147 [inline] RSP: ffff8880959a7b98
RIP: trylock_page include/linux/pagemap.h:469 [inline] RSP: ffff8880959a7b98
RIP: lock_page include/linux/pagemap.h:479 [inline] RSP: ffff8880959a7b98
RIP: nilfs_segctor_prepare_write fs/nilfs2/segment.c:1677 [inline] RSP: ffff8880959a7b98
RIP: nilfs_segctor_do_construct+0x1d5a/0x79c0 fs/nilfs2/segment.c:2087 RSP: ffff8880959a7b98
---[ end trace d9fe6e2e511b5a4e ]---
----------------
Code disassembly (best guess):
   0:	89 3c 24             	mov    %edi,(%rsp)
   3:	e9 b0 00 00 00       	jmpq   0xb8
   8:	e8 a4 c2 e5 fe       	callq  0xfee5c2b1
   d:	31 d2                	xor    %edx,%edx
   f:	be de 01 00 00       	mov    $0x1de,%esi
  14:	48 c7 c7 c0 f2 b9 87 	mov    $0xffffffff87b9f2c0,%rdi
  1b:	e8 e1 a5 c9 fe       	callq  0xfec9a601
  20:	48 8d 7d 20          	lea    0x20(%rbp),%rdi
  24:	48 89 f8             	mov    %rdi,%rax
  27:	48 c1 e8 03          	shr    $0x3,%rax
* 2b:	42 80 3c 30 00       	cmpb   $0x0,(%rax,%r14,1) <-- trapping instruction
  30:	0f 85 38 44 00 00    	jne    0x446e
  36:	48 8b 55 20          	mov    0x20(%rbp),%rdx
  3a:	49 89 ef             	mov    %rbp,%r15
  3d:	f6 c2 01             	test   $0x1,%dl

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/10/30 19:35 linux-4.14.y 41f36d7859a7 2a71366b .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-4-14 general protection fault in nilfs_segctor_do_construct
* Struck through repros no longer work on HEAD.