syzbot


general protection fault in detach_extent_buffer_page (2)

Status: upstream: reported on 2022/06/13 06:47
Reported-by: syzbot+94f5f2795eb772708f0e@syzkaller.appspotmail.com
First crash: 109d, last: 68d
similar bugs (1):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in detach_extent_buffer_page 1 465d 460d 0/24 auto-closed as invalid on 2021/10/14 19:36

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: 2 PID: 3675 Comm: syz-fuzzer Not tainted 5.19.0-rc1-syzkaller-00003-ge71e60cd74df #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
RIP: 0010:__lock_acquire+0xd85/0x5660 kernel/locking/lockdep.c:4923
Code: 76 0e 41 be 01 00 00 00 0f 86 c8 00 00 00 89 05 81 da 76 0e e9 bd 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 da 48 c1 ea 03 <80> 3c 02 00 0f 85 1e 2d 00 00 48 81 3b e0 03 2b 8f 0f 84 4f f3 ff
RSP: 0000:ffffc90002d86aa8 EFLAGS: 00010002
RAX: dffffc0000000000 RBX: 00000000000001e8 RCX: 0000000000000000
RDX: 000000000000003d RSI: 0000000000000000 RDI: 00000000000001e8
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000001
R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
R13: ffff888015c4c080 R14: 0000000000000000 R15: 0000000000000000
FS:  000000c000080090(0000) GS:ffff88802ca00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000402794 CR3: 0000000026785000 CR4: 0000000000150ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 lock_acquire kernel/locking/lockdep.c:5665 [inline]
 lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630
 __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:349 [inline]
 detach_extent_buffer_page+0x7e7/0x1280 fs/btrfs/extent_io.c:5835
 btrfs_release_extent_buffer_pages+0xd3/0x3a0 fs/btrfs/extent_io.c:5904
 release_extent_buffer+0x227/0x2a0 fs/btrfs/extent_io.c:6389
 try_release_extent_buffer+0x9ec/0xbe0 fs/btrfs/extent_io.c:7460
 btree_release_folio+0xbe/0x100 fs/btrfs/disk-io.c:1004
 filemap_release_folio+0x13b/0x1a0 mm/filemap.c:3964
 shrink_page_list+0x2697/0x3a50 mm/vmscan.c:1878
 shrink_inactive_list mm/vmscan.c:2386 [inline]
 shrink_list mm/vmscan.c:2616 [inline]
 shrink_lruvec+0xccf/0x2620 mm/vmscan.c:2933
 shrink_node_memcgs mm/vmscan.c:3122 [inline]
 shrink_node+0x84a/0x1db0 mm/vmscan.c:3245
 shrink_zones mm/vmscan.c:3482 [inline]
 do_try_to_free_pages+0x3b5/0x1700 mm/vmscan.c:3540
 try_to_free_pages+0x2ac/0x840 mm/vmscan.c:3775
 __perform_reclaim mm/page_alloc.c:4641 [inline]
 __alloc_pages_direct_reclaim mm/page_alloc.c:4663 [inline]
 __alloc_pages_slowpath.constprop.0+0xa8a/0x2160 mm/page_alloc.c:5066
 __alloc_pages+0x436/0x510 mm/page_alloc.c:5439
 alloc_pages+0x1aa/0x310 mm/mempolicy.c:2272
 folio_alloc+0x1c/0x70 mm/mempolicy.c:2282
 filemap_alloc_folio+0x8e/0xb0 mm/filemap.c:996
 page_cache_ra_unbounded+0x1af/0x550 mm/readahead.c:240
 do_page_cache_ra mm/readahead.c:291 [inline]
 page_cache_ra_order+0x680/0x940 mm/readahead.c:546
 do_sync_mmap_readahead mm/filemap.c:3046 [inline]
 filemap_fault+0x1638/0x2550 mm/filemap.c:3138
 __do_fault+0x10d/0x650 mm/memory.c:4165
 do_read_fault mm/memory.c:4511 [inline]
 do_fault mm/memory.c:4640 [inline]
 handle_pte_fault mm/memory.c:4903 [inline]
 __handle_mm_fault+0x2739/0x3f50 mm/memory.c:5042
 handle_mm_fault+0x1c8/0x790 mm/memory.c:5140
 do_user_addr_fault+0x489/0x11c0 arch/x86/mm/fault.c:1397
 handle_page_fault arch/x86/mm/fault.c:1484 [inline]
 exc_page_fault+0x9e/0x180 arch/x86/mm/fault.c:1540
 asm_exc_page_fault+0x27/0x30 arch/x86/include/asm/idtentry.h:570
RIP: 0033:0x402794
Code: fd d7 d6 48 83 c6 40 48 83 c7 40 48 83 eb 40 81 fa ff ff ff ff 74 c4 c5 f8 77 48 31 c0 c3 c5 f8 77 48 83 fb 08 76 1b 48 8b 0e <48> 8b 17 48 83 c6 08 48 83 c7 08 48 83 eb 08 48 39 d1 74 e3 48 31
RSP: 002b:000000c00008b870 EFLAGS: 00010216
RAX: 00000000008cd601 RBX: 0000000000000011 RCX: 70702a282e746d66
RDX: 2e656d69746e7572 RSI: 00000000008cd601 RDI: 00000000006f0620
RBP: 000000c00008b8e0 R08: 00000000000000cb R09: 00000000004c55d7
R10: 0000000000000002 R11: 0000000000000001 R12: 00000000004c5590
R13: 0000000000051208 R14: 000000c000082000 R15: 000000c00aa62c00
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__lock_acquire+0xd85/0x5660 kernel/locking/lockdep.c:4923
Code: 76 0e 41 be 01 00 00 00 0f 86 c8 00 00 00 89 05 81 da 76 0e e9 bd 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 da 48 c1 ea 03 <80> 3c 02 00 0f 85 1e 2d 00 00 48 81 3b e0 03 2b 8f 0f 84 4f f3 ff
RSP: 0000:ffffc90002d86aa8 EFLAGS: 00010002
RAX: dffffc0000000000 RBX: 00000000000001e8 RCX: 0000000000000000
RDX: 000000000000003d RSI: 0000000000000000 RDI: 00000000000001e8
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000001
R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
R13: ffff888015c4c080 R14: 0000000000000000 R15: 0000000000000000
FS:  000000c000080090(0000) GS:ffff88802ca00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000402794 CR3: 0000000026785000 CR4: 0000000000150ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	76 0e                	jbe    0x10
   2:	41 be 01 00 00 00    	mov    $0x1,%r14d
   8:	0f 86 c8 00 00 00    	jbe    0xd6
   e:	89 05 81 da 76 0e    	mov    %eax,0xe76da81(%rip)        # 0xe76da95
  14:	e9 bd 00 00 00       	jmpq   0xd6
  19:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  20:	fc ff df
  23:	48 89 da             	mov    %rbx,%rdx
  26:	48 c1 ea 03          	shr    $0x3,%rdx
* 2a:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1) <-- trapping instruction
  2e:	0f 85 1e 2d 00 00    	jne    0x2d52
  34:	48 81 3b e0 03 2b 8f 	cmpq   $0xffffffff8f2b03e0,(%rbx)
  3b:	0f                   	.byte 0xf
  3c:	84 4f f3             	test   %cl,-0xd(%rdi)
  3f:	ff                   	.byte 0xff

Crashes (2):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-qemu-upstream 2022/06/07 14:53 upstream e71e60cd74df b2706118 .config log report info general protection fault in detach_extent_buffer_page
ci-qemu-upstream-386 2022/07/18 16:19 upstream 4a57a8400075 ff988920 .config log report info general protection fault in detach_extent_buffer_page
* Struck through repros no longer work on HEAD.