syzbot


general protection fault in __find_get_block (2)

Status: auto-closed as invalid on 2022/03/13 03:33
Reported-by: syzbot+a333f6a9d84e3c074a93@syzkaller.appspotmail.com
First crash: 1106d, last: 1106d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 general protection fault in __find_get_block 1 1555d 1555d 0/1 auto-closed as invalid on 2020/12/19 07:08
linux-4.14 general protection fault in __find_get_block 1 1639d 1639d 0/1 auto-closed as invalid on 2020/09/26 01:39

Sample crash report:
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 30826 Comm: syz-executor.3 Not tainted 4.19.211-syzkaller #0
IPv6: RTM_NEWROUTE with no NLM_F_CREATE or NLM_F_REPLACE
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:constant_test_bit arch/x86/include/asm/bitops.h:317 [inline]
RIP: 0010:buffer_mapped include/linux/buffer_head.h:126 [inline]
RIP: 0010:__find_get_block_slow fs/buffer.c:216 [inline]
RIP: 0010:__find_get_block+0x6f2/0xde0 fs/buffer.c:1295
Code: 48 8d 7b 08 48 89 f8 48 c1 e8 03 80 3c 28 00 0f 85 d1 06 00 00 48 8b 5b 08 49 39 df 74 58 e8 f5 09 b2 ff 48 89 d8 48 c1 e8 03 <80> 3c 28 00 0f 85 62 06 00 00 48 8b 03 31 ff 48 c1 e8 05 41 89 c6
RSP: 0018:ffff8880a34b7520 EFLAGS: 00010206
RAX: 00000005c0000000 RBX: 0000002e00000000 RCX: ffffc9000c558000
RDX: 0000000000040000 RSI: ffffffff81b07b7b RDI: ffff888041498a88
RBP: dffffc0000000000 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
R13: 000000000000039d R14: 0000000000000000 R15: ffff888041498a80
FS:  00007f918a2b0700(0000) GS:ffff8880ba000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005584084e9fd0 CR3: 0000000098c04000 CR4: 00000000003426f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __getblk_gfp+0x28/0x70 fs/buffer.c:1317
 sb_getblk include/linux/buffer_head.h:333 [inline]
 __ext4_get_inode_loc+0x351/0x10f0 fs/ext4/inode.c:4621
 ext4_get_inode_loc fs/ext4/inode.c:4734 [inline]
 ext4_reserve_inode_write+0xeb/0x260 fs/ext4/inode.c:5938
 ext4_mark_inode_dirty+0x160/0x870 fs/ext4/inode.c:6105
 ext4_dirty_inode+0x88/0xb0 fs/ext4/inode.c:6144
 __mark_inode_dirty+0x16b/0x1140 fs/fs-writeback.c:2164
 mark_inode_dirty include/linux/fs.h:2086 [inline]
 __generic_write_end+0x26a/0x300 fs/buffer.c:2129
 ext4_da_write_end+0x623/0xa70 fs/ext4/inode.c:3201
 generic_perform_write+0x2ae/0x4d0 mm/filemap.c:3181
 __generic_file_write_iter+0x24b/0x610 mm/filemap.c:3295
 ext4_file_write_iter+0x2fe/0xf20 fs/ext4/file.c:272
 call_write_iter include/linux/fs.h:1821 [inline]
 do_iter_readv_writev+0x668/0x790 fs/read_write.c:681
 do_iter_write+0x182/0x5d0 fs/read_write.c:960
 vfs_writev+0x153/0x2e0 fs/read_write.c:1005
 do_pwritev fs/read_write.c:1094 [inline]
 __do_sys_pwritev fs/read_write.c:1141 [inline]
 __se_sys_pwritev fs/read_write.c:1136 [inline]
 __x64_sys_pwritev+0x22b/0x310 fs/read_write.c:1136
 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f918cd5bae9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f918a2b0188 EFLAGS: 00000246 ORIG_RAX: 0000000000000128
RAX: ffffffffffffffda RBX: 00007f918ce6f020 RCX: 00007f918cd5bae9
RDX: 0000000000000018 RSI: 00000000200006c0 RDI: 0000000000000007
RBP: 00007f918cdb5f6d R08: 0000000000000004 R09: 0000000000000000
R10: 000000000400fa7f R11: 0000000000000246 R12: 0000000000000000
R13: 00007fff36108e1f R14: 00007f918a2b0300 R15: 0000000000022000
Modules linked in:
BUG: unable to handle kernel paging request at 0000002e00000228
---[ end trace dd0d4cf296d296a8 ]---
PGD 98f2d067 P4D 98f2d067 PUD 0 
RIP: 0010:constant_test_bit arch/x86/include/asm/bitops.h:317 [inline]
RIP: 0010:buffer_mapped include/linux/buffer_head.h:126 [inline]
RIP: 0010:__find_get_block_slow fs/buffer.c:216 [inline]
RIP: 0010:__find_get_block+0x6f2/0xde0 fs/buffer.c:1295
Oops: 0000 [#2] PREEMPT SMP KASAN
CPU: 1 PID: 30831 Comm: syz-executor.0 Tainted: G      D           4.19.211-syzkaller #0
Code: 48 8d 7b 08 48 89 f8 48 c1 e8 03 80 3c 28 00 0f 85 d1 06 00 00 48 8b 5b 08 49 39 df 74 58 e8 f5 09 b2 ff 48 89 d8 48 c1 e8 03 <80> 3c 28 00 0f 85 62 06 00 00 48 8b 03 31 ff 48 c1 e8 05 41 89 c6
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:variable_test_bit arch/x86/include/asm/bitops.h:324 [inline]
RIP: 0010:tag_get lib/radix-tree.c:167 [inline]
RIP: 0010:node_tag_set+0xa1/0x150 lib/radix-tree.c:1398
Code: 7b 08 0f b6 6b 01 48 89 f8 48 c1 e8 03 42 80 3c 28 00 0f 85 9f 00 00 00 48 8b 5b 08 48 85 db 74 34 e8 23 ca 73 f9 4e 8d 24 33 <49> 0f a3 2c 24 41 0f 92 c7 31 ff 44 89 fe e8 3c cb 73 f9 45 84 ff
RSP: 0018:ffff8880a34b7520 EFLAGS: 00010206
RSP: 0018:ffff888037297c80 EFLAGS: 00010293
RAX: ffff888054810680 RBX: 0000002e00000000 RCX: ffffffff87eebb64
RDX: 0000000000000000 RSI: ffffffff87eebb4d RDI: ffff88804144fb48
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 1ffff1101245db0b R12: 0000002e00000228
R13: dffffc0000000000 R14: 0000000000000228 R15: 0000000000000000
RAX: 00000005c0000000 RBX: 0000002e00000000 RCX: ffffc9000c558000
FS:  0000555555df6400(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000002e00000228 CR3: 000000004f128000 CR4: 00000000003426e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
RDX: 0000000000040000 RSI: ffffffff81b07b7b RDI: ffff888041498a88
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __radix_tree_delete+0x143/0x160 lib/radix-tree.c:1993
 radix_tree_delete_item+0xe7/0x210 lib/radix-tree.c:2050
RBP: dffffc0000000000 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
 bpf_prog_free_id kernel/bpf/syscall.c:1106 [inline]
 bpf_prog_free_id+0x146/0x200 kernel/bpf/syscall.c:1091
R13: 000000000000039d R14: 0000000000000000 R15: ffff888041498a80
 __bpf_prog_put kernel/bpf/syscall.c:1129 [inline]
 __bpf_prog_put+0x73/0xd0 kernel/bpf/syscall.c:1125
 bpf_prog_put kernel/bpf/syscall.c:1138 [inline]
 bpf_raw_tracepoint_release+0xa7/0xf0 kernel/bpf/syscall.c:1526
 __fput+0x2ce/0x890 fs/file_table.c:278
 task_work_run+0x148/0x1c0 kernel/task_work.c:113
FS:  00007f918a2b0700(0000) GS:ffff8880ba000000(0000) knlGS:0000000000000000
 tracehook_notify_resume include/linux/tracehook.h:193 [inline]
 exit_to_usermode_loop+0x251/0x2a0 arch/x86/entry/common.c:167
 prepare_exit_to_usermode arch/x86/entry/common.c:198 [inline]
 syscall_return_slowpath arch/x86/entry/common.c:271 [inline]
 do_syscall_64+0x538/0x620 arch/x86/entry/common.c:296
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f25e4d8b72b
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Code: 0f 05 48 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 63 fc ff ff 8b 7c 24 0c 41 89 c0 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 89 44 24 0c e8 a1 fc ff ff 8b 44
RSP: 002b:00007ffc9315e350 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000005 RCX: 00007f25e4d8b72b
RDX: 0000000000000000 RSI: 00007f25e4ca96d8 RDI: 0000000000000004
RBP: 0000000000000001 R08: 0000000000000000 R09: 0000001b30524054
CR2: 00005584084e9fd0 CR3: 0000000098c04000 CR4: 00000000003426f0
R10: 0000000000001a0c R11: 0000000000000293 R12: 00007f25e4eecb60
R13: 00007f25e4eecb60 R14: 00007f25e4eebf60 R15: 00000000000810fd
Modules linked in:
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
CR2: 0000002e00000228
---[ end trace dd0d4cf296d296a9 ]---
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
RIP: 0010:constant_test_bit arch/x86/include/asm/bitops.h:317 [inline]
RIP: 0010:buffer_mapped include/linux/buffer_head.h:126 [inline]
RIP: 0010:__find_get_block_slow fs/buffer.c:216 [inline]
RIP: 0010:__find_get_block+0x6f2/0xde0 fs/buffer.c:1295
Code: 48 8d 7b 08 48 89 f8 48 c1 e8 03 80 3c 28 00 0f 85 d1 06 00 00 48 8b 5b 08 49 39 df 74 58 e8 f5 09 b2 ff 48 89 d8 48 c1 e8 03 <80> 3c 28 00 0f 85 62 06 00 00 48 8b 03 31 ff 48 c1 e8 05 41 89 c6
----------------
Code disassembly (best guess):
   0:	48 8d 7b 08          	lea    0x8(%rbx),%rdi
   4:	48 89 f8             	mov    %rdi,%rax
   7:	48 c1 e8 03          	shr    $0x3,%rax
   b:	80 3c 28 00          	cmpb   $0x0,(%rax,%rbp,1)
   f:	0f 85 d1 06 00 00    	jne    0x6e6
  15:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
  19:	49 39 df             	cmp    %rbx,%r15
  1c:	74 58                	je     0x76
  1e:	e8 f5 09 b2 ff       	callq  0xffb20a18
  23:	48 89 d8             	mov    %rbx,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	80 3c 28 00          	cmpb   $0x0,(%rax,%rbp,1) <-- trapping instruction
  2e:	0f 85 62 06 00 00    	jne    0x696
  34:	48 8b 03             	mov    (%rbx),%rax
  37:	31 ff                	xor    %edi,%edi
  39:	48 c1 e8 05          	shr    $0x5,%rax
  3d:	41 89 c6             	mov    %eax,%r14d

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/11/13 03:32 linux-4.19.y 3f8a27f9e27b 75b04091 .config console log report info ci2-linux-4-19 general protection fault in __find_get_block
* Struck through repros no longer work on HEAD.