syzbot


general protection fault in z_erofs_map_blocks_iter

Status: upstream: reported C repro on 2021/10/23 09:57
Reported-by: syzbot+784c25a06308ab441bac@syzkaller.appspotmail.com
First crash: 913d, last: 530d
Fix bisection: failed (error log, bisect log)
  

Sample crash report:
erofs: mounted on /dev/loop0 with opts: .
attempt to access beyond end of device
loop0: rw=4096, want=104, limit=16
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
CPU: 1 PID: 8100 Comm: syz-executor224 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/26/2022
RIP: 0010:vle_compressed_index_clusterofs drivers/staging/erofs/unzip_vle.c:1470 [inline]
RIP: 0010:z_erofs_map_blocks_iter+0x632/0x1aa0 drivers/staging/erofs/unzip_vle.c:1624
Code: 0f b6 8c 24 9c 00 00 00 48 ba 00 00 00 00 00 fc ff df 48 d3 e3 44 01 f3 81 e3 ff 0f 00 00 48 03 5c 24 30 48 89 d8 48 c1 e8 03 <0f> b6 0c 10 48 8d 43 01 48 89 c6 48 c1 ee 03 0f b6 14 16 48 89 de
RSP: 0018:ffff88809557f208 EFLAGS: 00010202
RAX: 0000a10fffffff40 RBX: 0005087ffffffa00 RCX: 0000000000000005
RDX: dffffc0000000000 RSI: 0000000000000010 RDI: ffff888097e1635c
RBP: fffffffffffffffb R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888097e162c0
R13: 0000000000000000 R14: 000000000000c580 R15: ffff88808dbd94c0
FS:  0000555557034300(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055777e591848 CR3: 00000000a9e90000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 erofs_map_blocks_iter+0x6d/0x3b0 drivers/staging/erofs/data.c:168
 z_erofs_do_read_page+0x670/0x2820 drivers/staging/erofs/unzip_vle.c:644
 z_erofs_vle_normalaccess_readpage+0x136/0x460 drivers/staging/erofs/unzip_vle.c:1353
 do_read_cache_page+0x533/0x1170 mm/filemap.c:2828
 read_mapping_page include/linux/pagemap.h:402 [inline]
 find_target_block_classic drivers/staging/erofs/namei.c:112 [inline]
 erofs_namei+0x1ab/0x1740 drivers/staging/erofs/namei.c:189
 erofs_lookup+0x143/0x500 drivers/staging/erofs/namei.c:232
 __lookup_slow+0x246/0x4a0 fs/namei.c:1672
 lookup_slow fs/namei.c:1689 [inline]
 walk_component+0x7ac/0xda0 fs/namei.c:1811
 lookup_last fs/namei.c:2274 [inline]
 path_lookupat+0x1ff/0x8d0 fs/namei.c:2319
 filename_lookup+0x1ac/0x5a0 fs/namei.c:2349
 user_path include/linux/namei.h:62 [inline]
 do_mount+0x147/0x2f50 fs/namespace.c:2762
 ksys_mount+0xcf/0x130 fs/namespace.c:3038
 __do_sys_mount fs/namespace.c:3052 [inline]
 __se_sys_mount fs/namespace.c:3049 [inline]
 __x64_sys_mount+0xba/0x150 fs/namespace.c:3049
 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f33bc0c1f49
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 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffd4c99a098 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f33bc0c1f49
RDX: 0000000000000000 RSI: 00000000200003c0 RDI: 0000000000000000
RBP: 00007f33bc0817e0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000050 R11: 0000000000000246 R12: 00007f33bc081870
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
---[ end trace 979a56dfc8603d21 ]---
RIP: 0010:vle_compressed_index_clusterofs drivers/staging/erofs/unzip_vle.c:1470 [inline]
RIP: 0010:z_erofs_map_blocks_iter+0x632/0x1aa0 drivers/staging/erofs/unzip_vle.c:1624
Code: 0f b6 8c 24 9c 00 00 00 48 ba 00 00 00 00 00 fc ff df 48 d3 e3 44 01 f3 81 e3 ff 0f 00 00 48 03 5c 24 30 48 89 d8 48 c1 e8 03 <0f> b6 0c 10 48 8d 43 01 48 89 c6 48 c1 ee 03 0f b6 14 16 48 89 de
RSP: 0018:ffff88809557f208 EFLAGS: 00010202
RAX: 0000a10fffffff40 RBX: 0005087ffffffa00 RCX: 0000000000000005
RDX: dffffc0000000000 RSI: 0000000000000010 RDI: ffff888097e1635c
RBP: fffffffffffffffb R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888097e162c0
R13: 0000000000000000 R14: 000000000000c580 R15: ffff88808dbd94c0
FS:  0000555557034300(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055777e591848 CR3: 00000000a9e90000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	0f b6 8c 24 9c 00 00 	movzbl 0x9c(%rsp),%ecx
   7:	00
   8:	48 ba 00 00 00 00 00 	movabs $0xdffffc0000000000,%rdx
   f:	fc ff df
  12:	48 d3 e3             	shl    %cl,%rbx
  15:	44 01 f3             	add    %r14d,%ebx
  18:	81 e3 ff 0f 00 00    	and    $0xfff,%ebx
  1e:	48 03 5c 24 30       	add    0x30(%rsp),%rbx
  23:	48 89 d8             	mov    %rbx,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	0f b6 0c 10          	movzbl (%rax,%rdx,1),%ecx <-- trapping instruction
  2e:	48 8d 43 01          	lea    0x1(%rbx),%rax
  32:	48 89 c6             	mov    %rax,%rsi
  35:	48 c1 ee 03          	shr    $0x3,%rsi
  39:	0f b6 14 16          	movzbl (%rsi,%rdx,1),%edx
  3d:	48 89 de             	mov    %rbx,%rsi

Crashes (24):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/09/25 11:31 linux-4.19.y 3f8a27f9e27b 0042f2b4 .config console log report syz C ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2021/10/26 00:30 linux-4.19.y 3f8a27f9e27b c1132b49 .config console log report syz C ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2021/10/23 10:12 linux-4.19.y 3f8a27f9e27b 282f03fb .config console log report syz C ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/11/10 17:18 linux-4.19.y 3f8a27f9e27b 3ead01ad .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/11/08 09:26 linux-4.19.y 3f8a27f9e27b 6feb842b .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/11/08 09:19 linux-4.19.y 3f8a27f9e27b 6feb842b .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/11/05 06:39 linux-4.19.y 3f8a27f9e27b 6d752409 .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/11/05 06:27 linux-4.19.y 3f8a27f9e27b 6d752409 .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/10/30 13:13 linux-4.19.y 3f8a27f9e27b 2a71366b .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/10/30 02:49 linux-4.19.y 3f8a27f9e27b 2a71366b .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/10/30 01:33 linux-4.19.y 3f8a27f9e27b 2a71366b .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/10/18 13:47 linux-4.19.y 3f8a27f9e27b b31320fc .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/10/15 13:45 linux-4.19.y 3f8a27f9e27b 67cb024c .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/10/15 13:20 linux-4.19.y 3f8a27f9e27b 67cb024c .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/09/30 12:17 linux-4.19.y 3f8a27f9e27b 45fd7169 .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/09/25 15:07 linux-4.19.y 3f8a27f9e27b 0042f2b4 .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/09/25 11:15 linux-4.19.y 3f8a27f9e27b 0042f2b4 .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/02/23 16:18 linux-4.19.y 3f8a27f9e27b 6e821dbf .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/01/24 21:04 linux-4.19.y 3f8a27f9e27b 2cbffd88 .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/01/24 05:43 linux-4.19.y 3f8a27f9e27b 214351e1 .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/01/24 01:39 linux-4.19.y 3f8a27f9e27b 214351e1 .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2022/01/23 20:59 linux-4.19.y 3f8a27f9e27b 214351e1 .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2021/11/12 06:12 linux-4.19.y 3f8a27f9e27b 75b04091 .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
2021/10/23 09:57 linux-4.19.y 3f8a27f9e27b 282f03fb .config console log report info ci2-linux-4-19 general protection fault in z_erofs_map_blocks_iter
* Struck through repros no longer work on HEAD.