syzbot


BUG: unable to handle kernel paging request in do_split

Status: fixed on 2024/08/14 03:44
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+ae688d469e36fb5138d0@syzkaller.appspotmail.com
Fix commit: 50ea741def58 ext4: check dot and dotdot of dx_root before making dir indexed f9ca51596bbf ext4: make sure the first directory block is not a hole
First crash: 170d, last: 153d
Cause bisection: the cause commit could be any of (bisect log):
  3b51788a2d5f IB/hfi1: use new function dev_fetch_sw_netstats
  44fa32f008ab net: add function dev_fetch_sw_netstats for fetching pcpu_sw_netstats
  3618ad2a7c0e virtio-net: ethtool configurable RXCSUM
  9d0151673e70 net: macsec: use new function dev_fetch_sw_netstats
  c9bf52a173c7 net/af_unix: Remove unused old_pid variable
  ec173778e96e net: usb: qmi_wwan: use new function dev_fetch_sw_netstats
  0403a2b53c29 net/tls: use semicolons rather than commas to separate statements
  ab2b3ff21b9f net: usbnet: use new function dev_fetch_sw_netstats
  1f68b2096f65 qtnfmac: use new function dev_fetch_sw_netstats
  6159e9633f17 net/ipv6: use semicolons rather than commas to separate statements
  44797589c20e tcp: use semicolons rather than commas to separate statements
  f3f04f0f3ab9 net: bridge: use new function dev_fetch_sw_netstats
  7e38b03f0fe7 net: mscc: ocelot: remove duplicate ocelot_port_dev_check
  a0d269810185 net: dsa: use new function dev_fetch_sw_netstats
  c93c5482c7d4 Merge branch 'macb-support-the-2-deep-Tx-queue-on-at91'
  cf89f18fa407 iptunnel: use new function dev_fetch_sw_netstats
  0a4e9ce17ba7 macb: support the two tx descriptors on at91rm9200
  6401297e7610 mac80211: use new function dev_fetch_sw_netstats
  3569939a811e net: openvswitch: use new function dev_fetch_sw_netstats
  73d742281383 macb: prepare at91 to use a 2-frame TX queue
  5fc3594d36d1 xfrm: use new function dev_fetch_sw_netstats
  fa6031df12fc macb: add RM9200's interrupt flag TBRE
  a003ec1f47bc Merge branch 'net-add-and-use-function-dev_fetch_sw_netstats-for-fetching-pcpu_sw_netstats'
  ccdf7fae3afa Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
  30cf856a691f i40e: Allow changing FEC settings on X722 if supported by FW
  a308283fdbf7 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
  793d5d612426 netfilter: flowtable: reduce calls to pskb_may_pull()
  f2bf814a27c5 e1000: remove unused and incorrect code
  d3519cb89f6d netfilter: nf_tables: add inet ingress support
  d5e6f064ac66 Merge branch '40GbE-Intel-Wired-LAN-Driver-Updates-2020-10-12'
  50172733d01c Merge tag 'mlx5-updates-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux
  60a3815da702 netfilter: add inet ingress support
  d25e2e9388ed netfilter: restore NF_INET_NUMHOOKS
  
Discussions (4)
Title Replies (including bot) Last reply
[PATCH] ext4: No need to continue when the number of entries is 1 5 (5) 2024/08/24 04:20
[PATCH 2/2] ext4: make sure the first directory block is not a hole 2 (2) 2024/07/03 09:36
[PATCH 1/2] ext4: check dot and dotdot of dx_root before making dir indexed 2 (2) 2024/07/03 09:29
[syzbot] [ext4?] BUG: unable to handle kernel paging request in do_split 2 (4) 2024/07/01 14:36
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-5-10 BUG: unable to handle kernel paging request in do_split C error 21 6d06h 126d 0/2 upstream: reported C repro on 2024/08/09 00:52
linux-6.1 KASAN: use-after-free Read in do_split 1 35d 35d 0/3 upstream: reported on 2024/11/07 19:28
Last patch testing requests (2)
Created Duration User Patch Repo Result
2024/07/12 07:18 12m retest repro upstream report log
2024/06/30 09:12 20m eadavis@qq.com patch git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 55027e689933 OK log

Sample crash report:
EXT4-fs error (device loop0): ext4_orphan_get:1399: comm syz-executor306: couldn't read orphan inode 15 (err -117)
EXT4-fs (loop0): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: none.
BUG: unable to handle page fault for address: ffffed11022e24fe
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 23ffee067 P4D 23ffee067 PUD 0 
Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 0 PID: 5079 Comm: syz-executor306 Not tainted 6.10.0-rc5-syzkaller-00018-g55027e689933 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
RIP: 0010:do_split+0x150b/0x2490 fs/ext4/namei.c:2046
Code: 89 f8 48 c1 e8 03 0f b6 04 10 84 c0 48 89 74 24 18 0f 85 f5 0c 00 00 46 8b 3c f6 41 8d 46 ff 48 8d 1c c6 48 89 d8 48 c1 e8 03 <0f> b6 04 10 84 c0 4c 8b a4 24 98 00 00 00 0f 85 f7 0c 00 00 8b 1b
RSP: 0018:ffffc9000327f060 EFLAGS: 00010a02
RAX: 1ffff111022e24fe RBX: ffff8888117127f0 RCX: ffff8880237e1e00
RDX: dffffc0000000000 RSI: ffff8880117127f8 RDI: ffff8880117127f8
RBP: ffffc9000327f250 R08: ffffffff825fc2ad R09: ffffffff82541cf8
R10: 0000000000000007 R11: ffffffff825435f0 R12: 0000000000000000
R13: 0000000000000400 R14: 0000000000000000 R15: 000000002b74e18c
FS:  00005555787b4380(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed11022e24fe CR3: 0000000043598000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 make_indexed_dir+0xdaf/0x13c0 fs/ext4/namei.c:2341
 ext4_add_entry+0x222a/0x25d0 fs/ext4/namei.c:2451
 ext4_rename fs/ext4/namei.c:3936 [inline]
 ext4_rename2+0x26e5/0x4370 fs/ext4/namei.c:4214
 vfs_rename+0xbdb/0xf00 fs/namei.c:4887
 do_renameat2+0xd94/0x13f0 fs/namei.c:5044
 __do_sys_rename fs/namei.c:5091 [inline]
 __se_sys_rename fs/namei.c:5089 [inline]
 __x64_sys_rename+0x86/0xa0 fs/namei.c:5089
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fe5c7dcdb59
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 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:00007ffcd201c228 EFLAGS: 00000246 ORIG_RAX: 0000000000000052
RAX: ffffffffffffffda RBX: 00007fe5c7e16568 RCX: 00007fe5c7dcdb59
RDX: 0000000000000000 RSI: 0000000020000f40 RDI: 00000000200003c0
RBP: 00007fe5c7e16668 R08: 00005555787b54c0 R09: 00005555787b54c0
R10: 00005555787b54c0 R11: 0000000000000246 R12: 00007ffcd201c250
R13: 00007ffcd201c478 R14: 431bde82d7b634db R15: 00007fe5c7e1603b
 </TASK>
Modules linked in:
CR2: ffffed11022e24fe
---[ end trace 0000000000000000 ]---
RIP: 0010:do_split+0x150b/0x2490 fs/ext4/namei.c:2046
Code: 89 f8 48 c1 e8 03 0f b6 04 10 84 c0 48 89 74 24 18 0f 85 f5 0c 00 00 46 8b 3c f6 41 8d 46 ff 48 8d 1c c6 48 89 d8 48 c1 e8 03 <0f> b6 04 10 84 c0 4c 8b a4 24 98 00 00 00 0f 85 f7 0c 00 00 8b 1b
RSP: 0018:ffffc9000327f060 EFLAGS: 00010a02
RAX: 1ffff111022e24fe RBX: ffff8888117127f0 RCX: ffff8880237e1e00
RDX: dffffc0000000000 RSI: ffff8880117127f8 RDI: ffff8880117127f8
RBP: ffffc9000327f250 R08: ffffffff825fc2ad R09: ffffffff82541cf8
R10: 0000000000000007 R11: ffffffff825435f0 R12: 0000000000000000
R13: 0000000000000400 R14: 0000000000000000 R15: 000000002b74e18c
FS:  00005555787b4380(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed11022e24fe CR3: 0000000043598000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	89 f8                	mov    %edi,%eax
   2:	48 c1 e8 03          	shr    $0x3,%rax
   6:	0f b6 04 10          	movzbl (%rax,%rdx,1),%eax
   a:	84 c0                	test   %al,%al
   c:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
  11:	0f 85 f5 0c 00 00    	jne    0xd0c
  17:	46 8b 3c f6          	mov    (%rsi,%r14,8),%r15d
  1b:	41 8d 46 ff          	lea    -0x1(%r14),%eax
  1f:	48 8d 1c c6          	lea    (%rsi,%rax,8),%rbx
  23:	48 89 d8             	mov    %rbx,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	0f b6 04 10          	movzbl (%rax,%rdx,1),%eax <-- trapping instruction
  2e:	84 c0                	test   %al,%al
  30:	4c 8b a4 24 98 00 00 	mov    0x98(%rsp),%r12
  37:	00
  38:	0f 85 f7 0c 00 00    	jne    0xd35
  3e:	8b 1b                	mov    (%rbx),%ebx

Crashes (17):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/06/25 11:14 upstream 55027e689933 04bd2a30 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/28 07:02 upstream 6d6444ba8205 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/28 05:50 upstream 6d6444ba8205 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/28 00:43 upstream 6d6444ba8205 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/27 23:50 upstream 6d6444ba8205 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/27 21:31 upstream afcd48134c58 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/27 19:50 upstream afcd48134c58 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/27 18:37 upstream afcd48134c58 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/27 17:30 upstream afcd48134c58 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/27 16:47 upstream afcd48134c58 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/27 16:02 upstream afcd48134c58 6ef39602 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/27 04:02 upstream 24ca36a562d6 c6d33a01 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/26 20:23 upstream 55027e689933 c6d33a01 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/26 15:19 upstream 55027e689933 c6d33a01 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/26 04:15 upstream 55027e689933 dec8bc94 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/26 00:55 upstream 55027e689933 dec8bc94 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
2024/06/25 09:53 upstream 55027e689933 04bd2a30 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs BUG: unable to handle kernel paging request in do_split
* Struck through repros no longer work on HEAD.