syzbot


kernel BUG in f2fs_vm_page_mkwrite

Status: fixed on 2024/08/26 14:10
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+88c1945b19a968740c40@syzkaller.appspotmail.com
Fix commit: 70f5ef5f33c3 f2fs: fix return value of f2fs_convert_inline_inode()
First crash: 171d, last: 129d
Fix bisection: fixed by (bisect log) :
commit 70f5ef5f33c333cfb286116fa3af74ac9bc84f1b
Author: Chao Yu <chao@kernel.org>
Date: Mon Jun 3 01:07:45 2024 +0000

  f2fs: fix return value of f2fs_convert_inline_inode()

  
Bug presence (1)
Date Name Commit Repro Result
2024/06/03 upstream (ToT) c3f38fa61af7 C [report] kernel BUG in f2fs_vm_page_mkwrite
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream kernel BUG in f2fs_vm_page_mkwrite f2fs C error done 12 140d 167d 27/28 fixed on 2024/08/21 09:01
linux-6.1 kernel BUG in f2fs_vm_page_mkwrite 2 171d 171d 0/3 auto-obsoleted due to no activity on 2024/09/10 22:21
Fix bisection attempts (2)
Created Duration User Patch Repo Result
2024/08/26 11:51 2h16m bisect fix linux-5.15.y OK (1) job log
2024/07/14 16:00 1h04m bisect fix linux-5.15.y OK (0) job log log

Sample crash report:
loop0: detected capacity change from 0 to 40427
F2FS-fs (loop0): Found nat_bits in checkpoint
F2FS-fs (loop0): Mounted with checkpoint version = 48b305e5
------------[ cut here ]------------
kernel BUG at fs/f2fs/file.c:100!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 3499 Comm: syz-executor137 Not tainted 5.15.160-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
RIP: 0010:f2fs_vm_page_mkwrite+0xdd6/0xe20 fs/f2fs/file.c:100
Code: fe e9 db f5 ff ff 89 f9 80 e1 07 80 c1 03 38 c1 0f 8c 44 fb ff ff e8 b9 20 34 fe e9 3a fb ff ff e8 8f e3 87 06 e8 aa 52 ea fd <0f> 0b 48 85 db 75 0b e8 9e 52 ea fd 4c 8b 2c 24 eb 08 e8 93 52 ea
RSP: 0018:ffffc90002df77a0 EFLAGS: 00010293
RAX: ffffffff83960a16 RBX: 0000000000000400 RCX: ffff888015fd0000
RDX: 0000000000000000 RSI: 0000000000000400 RDI: 0000000000000000
RBP: ffffc90002df78e0 R08: ffffffff839600ba R09: ffffed100e70c1c7
R10: 0000000000000000 R11: dffffc0000000001 R12: ffffea00007749c0
R13: 0000000200100601 R14: 1ffff920005bef00 R15: 0000000200100602
FS:  00005555564e3380(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055acb960d160 CR3: 0000000073270000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 do_page_mkwrite+0x1a9/0x440 mm/memory.c:2892
 wp_page_shared+0x179/0x690 mm/memory.c:3229
 handle_pte_fault mm/memory.c:4639 [inline]
 __handle_mm_fault mm/memory.c:4756 [inline]
 handle_mm_fault+0x2a3d/0x5950 mm/memory.c:4854
 do_user_addr_fault arch/x86/mm/fault.c:1388 [inline]
 handle_page_fault arch/x86/mm/fault.c:1476 [inline]
 exc_page_fault+0x271/0x740 arch/x86/mm/fault.c:1532
 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:568
RIP: 0010:copy_user_generic_unrolled+0x89/0xc0 arch/x86/lib/copy_user_64.S:92
Code: 38 4c 89 47 20 4c 89 4f 28 4c 89 57 30 4c 89 5f 38 48 8d 76 40 48 8d 7f 40 ff c9 75 b6 89 d1 83 e2 07 c1 e9 03 74 12 4c 8b 06 <4c> 89 07 48 8d 76 08 48 8d 7f 08 ff c9 75 ee 21 d2 74 10 89 d1 8a
RSP: 0018:ffffc90002df7d68 EFLAGS: 00050202
RAX: ffffffff8408dc01 RBX: 0000000020000290 RCX: 0000000000000002
RDX: 0000000000000000 RSI: ffffc90002df7de0 RDI: 0000000020000280
RBP: ffffc90002df7e50 R08: 00000000665cf471 R09: fffff520005befbe
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000010
R13: 00007ffffffff000 R14: ffffc90002df7de0 R15: 0000000020000280
 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline]
 raw_copy_to_user arch/x86/include/asm/uaccess_64.h:58 [inline]
 _copy_to_user+0xef/0x130 lib/usercopy.c:40
 copy_to_user include/linux/uaccess.h:200 [inline]
 put_timespec64+0xf6/0x150 kernel/time/time.c:812
 __do_sys_clock_gettime kernel/time/posix-timers.c:1139 [inline]
 __se_sys_clock_gettime kernel/time/posix-timers.c:1127 [inline]
 __x64_sys_clock_gettime+0x1cd/0x220 kernel/time/posix-timers.c:1127
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fa78bd1c7b9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 61 17 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff9e2828f8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e4
RAX: ffffffffffffffda RBX: 00007fff9e282ad8 RCX: 00007fa78bd1c7b9
RDX: 00007fa78bd1c7b9 RSI: 0000000020000280 RDI: 0000000000000000
RBP: 00007fa78bd94610 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000004 R11: 0000000000000246 R12: 0000000000000001
R13: 00007fff9e282ac8 R14: 0000000000000001 R15: 0000000000000001
 </TASK>
Modules linked in:
---[ end trace 63d32fbbf63079ba ]---
RIP: 0010:f2fs_vm_page_mkwrite+0xdd6/0xe20 fs/f2fs/file.c:100
Code: fe e9 db f5 ff ff 89 f9 80 e1 07 80 c1 03 38 c1 0f 8c 44 fb ff ff e8 b9 20 34 fe e9 3a fb ff ff e8 8f e3 87 06 e8 aa 52 ea fd <0f> 0b 48 85 db 75 0b e8 9e 52 ea fd 4c 8b 2c 24 eb 08 e8 93 52 ea
RSP: 0018:ffffc90002df77a0 EFLAGS: 00010293
RAX: ffffffff83960a16 RBX: 0000000000000400 RCX: ffff888015fd0000
RDX: 0000000000000000 RSI: 0000000000000400 RDI: 0000000000000000
RBP: ffffc90002df78e0 R08: ffffffff839600ba R09: ffffed100e70c1c7
R10: 0000000000000000 R11: dffffc0000000001 R12: ffffea00007749c0
R13: 0000000200100601 R14: 1ffff920005bef00 R15: 0000000200100602
FS:  00005555564e3380(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055acb960d160 CR3: 0000000073270000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	38 4c 89 47          	cmp    %cl,0x47(%rcx,%rcx,4)
   4:	20 4c 89 4f          	and    %cl,0x4f(%rcx,%rcx,4)
   8:	28 4c 89 57          	sub    %cl,0x57(%rcx,%rcx,4)
   c:	30 4c 89 5f          	xor    %cl,0x5f(%rcx,%rcx,4)
  10:	38 48 8d             	cmp    %cl,-0x73(%rax)
  13:	76 40                	jbe    0x55
  15:	48 8d 7f 40          	lea    0x40(%rdi),%rdi
  19:	ff c9                	dec    %ecx
  1b:	75 b6                	jne    0xffffffd3
  1d:	89 d1                	mov    %edx,%ecx
  1f:	83 e2 07             	and    $0x7,%edx
  22:	c1 e9 03             	shr    $0x3,%ecx
  25:	74 12                	je     0x39
  27:	4c 8b 06             	mov    (%rsi),%r8
* 2a:	4c 89 07             	mov    %r8,(%rdi) <-- trapping instruction
  2d:	48 8d 76 08          	lea    0x8(%rsi),%rsi
  31:	48 8d 7f 08          	lea    0x8(%rdi),%rdi
  35:	ff c9                	dec    %ecx
  37:	75 ee                	jne    0x27
  39:	21 d2                	and    %edx,%edx
  3b:	74 10                	je     0x4d
  3d:	89 d1                	mov    %edx,%ecx
  3f:	8a                   	.byte 0x8a

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/06/02 22:40 linux-5.15.y c61bd26ae81a 3113787f .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan kernel BUG in f2fs_vm_page_mkwrite
2024/06/02 22:21 linux-5.15.y c61bd26ae81a 3113787f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan kernel BUG in f2fs_vm_page_mkwrite
2024/06/02 22:20 linux-5.15.y c61bd26ae81a 3113787f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan kernel BUG in f2fs_vm_page_mkwrite
* Struck through repros no longer work on HEAD.