syzbot


general protection fault in create_empty_buffers

Status: upstream: reported C repro on 2023/06/23 12:51
Bug presence: origin:upstream
Labels: missing-backport
[Documentation on labels]
Reported-by: syzbot+def4b584ca614df3d52e@syzkaller.appspotmail.com
First crash: 519d, last: 473d
Bug presence (3)
Date Name Commit Repro Result
2023/08/08 linux-6.1.y (ToT) 52a953d0934b C [report] general protection fault in create_empty_buffers
2023/06/23 upstream (ToT) 8a28a0b6f1a1 C [report] general protection fault in folio_create_empty_buffers
2023/08/08 upstream (ToT) 14f9643dc90a C Didn't crash
Similar bugs (8)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in create_empty_buffers (3) fs 1 1607d 1607d 0/28 auto-closed as invalid on 2020/10/27 18:42
upstream general protection fault in create_empty_buffers (4) nilfs 2 576d 609d 0/28 auto-obsoleted due to no activity on 2023/07/26 06:29
linux-5.15 general protection fault in create_empty_buffers origin:lts-only syz done 1 524d 524d 0/3 upstream: reported syz repro on 2023/06/17 23:50
android-54 general protection fault in create_empty_buffers (3) 1 717d 717d 0/2 auto-obsoleted due to no activity on 2023/04/06 14:08
upstream general protection fault in create_empty_buffers 3820 2644d 2580d 0/28 closed as invalid on 2017/10/31 10:04
upstream general protection fault in create_empty_buffers (2) fs 1 2266d 2266d 0/28 auto-closed as invalid on 2019/03/08 22:46
android-54 general protection fault in create_empty_buffers 1 1500d 1500d 0/2 auto-closed as invalid on 2021/02/12 03:39
android-54 general protection fault in create_empty_buffers (2) 1 1293d 1293d 0/2 auto-closed as invalid on 2021/09/06 17:43
Fix bisection attempts (2)
Created Duration User Patch Repo Result
2023/11/13 10:52 7h21m fix candidate upstream OK (1) job log
2023/08/13 04:03 12h09m fix candidate upstream error job log

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc000000003d: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x00000000000001e8-0x00000000000001ef]
CPU: 0 PID: 3877 Comm: segctord Not tainted 6.1.35-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023
RIP: 0010:__lock_acquire+0x69/0x1f80 kernel/locking/lockdep.c:4926
Code: df 0f b6 04 10 84 c0 0f 85 fb 15 00 00 83 3d f1 85 e9 0c 00 0f 84 a8 14 00 00 83 3d c0 79 75 0b 00 74 2b 4c 89 f0 48 c1 e8 03 <80> 3c 10 00 74 12 4c 89 f7 e8 39 46 76 00 48 ba 00 00 00 00 00 fc
RSP: 0018:ffffc90003e7f0a0 EFLAGS: 00010002
RAX: 000000000000003d RBX: 0000000000000000 RCX: 0000000000000000
RDX: dffffc0000000000 RSI: 0000000000000000 RDI: 00000000000001e8
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: ffff888027da5940 R14: 00000000000001e8 R15: 0000000000000001
FS:  0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000000 CR3: 000000001eaad000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5669
 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
 _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154
 spin_lock include/linux/spinlock.h:350 [inline]
 create_empty_buffers+0xd1/0x7d0 fs/buffer.c:1552
 nilfs_lookup_dirty_data_buffers+0x2fc/0x8d0 fs/nilfs2/segment.c:729
 nilfs_segctor_scan_file+0x245/0xad0 fs/nilfs2/segment.c:1073
 nilfs_segctor_collect_blocks fs/nilfs2/segment.c:1195 [inline]
 nilfs_segctor_collect fs/nilfs2/segment.c:1522 [inline]
 nilfs_segctor_do_construct+0x1c1b/0x6cc0 fs/nilfs2/segment.c:2068
 nilfs_segctor_construct+0x145/0x8c0 fs/nilfs2/segment.c:2402
 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2510 [inline]
 nilfs_segctor_thread+0x536/0x1130 fs/nilfs2/segment.c:2593
 kthread+0x26e/0x300 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__lock_acquire+0x69/0x1f80 kernel/locking/lockdep.c:4926
Code: df 0f b6 04 10 84 c0 0f 85 fb 15 00 00 83 3d f1 85 e9 0c 00 0f 84 a8 14 00 00 83 3d c0 79 75 0b 00 74 2b 4c 89 f0 48 c1 e8 03 <80> 3c 10 00 74 12 4c 89 f7 e8 39 46 76 00 48 ba 00 00 00 00 00 fc
RSP: 0018:ffffc90003e7f0a0 EFLAGS: 00010002
RAX: 000000000000003d RBX: 0000000000000000 RCX: 0000000000000000
RDX: dffffc0000000000 RSI: 0000000000000000 RDI: 00000000000001e8
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: ffff888027da5940 R14: 00000000000001e8 R15: 0000000000000001
FS:  0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000000 CR3: 000000001eaad000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	df 0f                	fisttps (%rdi)
   2:	b6 04                	mov    $0x4,%dh
   4:	10 84 c0 0f 85 fb 15 	adc    %al,0x15fb850f(%rax,%rax,8)
   b:	00 00                	add    %al,(%rax)
   d:	83 3d f1 85 e9 0c 00 	cmpl   $0x0,0xce985f1(%rip)        # 0xce98605
  14:	0f 84 a8 14 00 00    	je     0x14c2
  1a:	83 3d c0 79 75 0b 00 	cmpl   $0x0,0xb7579c0(%rip)        # 0xb7579e1
  21:	74 2b                	je     0x4e
  23:	4c 89 f0             	mov    %r14,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	80 3c 10 00          	cmpb   $0x0,(%rax,%rdx,1) <-- trapping instruction
  2e:	74 12                	je     0x42
  30:	4c 89 f7             	mov    %r14,%rdi
  33:	e8 39 46 76 00       	callq  0x764671
  38:	48                   	rex.W
  39:	ba 00 00 00 00       	mov    $0x0,%edx
  3e:	00 fc                	add    %bh,%ah

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/06/23 12:51 linux-6.1.y e84a4e368abe 79782afc .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan general protection fault in create_empty_buffers
* Struck through repros no longer work on HEAD.