uvm_fault: ufs_readdir

0 views
Skip to first unread message

syzbot

unread,
May 26, 2026, 6:30:26 PM (5 days ago) May 26
to syzkaller-o...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 51e8ce08d8c9 Fix signed integer overflow in repetition count
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=12e98086580000
kernel config: https://syzkaller.appspot.com/x/.config?x=1bc15e68cd2a49e5
dashboard link: https://syzkaller.appspot.com/bug?extid=f60de315eda5f53c0057

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/03ecf461106c/disk-51e8ce08.raw.xz
bsd.gdb: https://storage.googleapis.com/syzbot-assets/b0b09fe9e969/bsd-51e8ce08.gdb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/3a1a4dbd730a/kernel-51e8ce08.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+f60de3...@syzkaller.appspotmail.com

uvm_fault(0xffffffff83a16290, 0xffff800027592004, 0, 1) -> d
kernel: page fault trap, code=0
Stopped at ufs_readdir+0x26e: movzwl 0x4(%r14),%ebx
TID PID UID PRFLAGS PFLAGS CPU COMMAND
* 11415 69868 0 0x2 0 0 syz-executor
ufs_readdir(ffff80002a7d38e0) at ufs_readdir+0x26e sys/ufs/ufs/ufs_vnops.c:1397
VOP_READDIR(fffffd805fec4ce0,ffff80002a7d3968,fffffd8007ffd548,ffff80002a7d39ac) at VOP_READDIR+0x125 sys/kern/vfs_vops.c:453
sys_getdents(ffff80002a778010,ffff80002a7d3af0,ffff80002a7d3a40) at sys_getdents+0x2dd sys/kern/vfs_syscalls.c:3219
syscall(ffff80002a7d3af0) at syscall+0x962 mi_syscall sys/sys/syscall_mi.h:-1 [inline]
syscall(ffff80002a7d3af0) at syscall+0x962 sys/arch/amd64/amd64/trap.c:783
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7e3e3a578e40, count: 10
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb>
ddb> set $lines = 0
ddb> set $maxwidth = 0
ddb> show panic
*cpu0: uvm_fault(0xffffffff83a16290, 0xffff800027592004, 0, 1) -> d
ddb> trace
ufs_readdir(ffff80002a7d38e0) at ufs_readdir+0x26e sys/ufs/ufs/ufs_vnops.c:1397
VOP_READDIR(fffffd805fec4ce0,ffff80002a7d3968,fffffd8007ffd548,ffff80002a7d39ac) at VOP_READDIR+0x125 sys/kern/vfs_vops.c:453
sys_getdents(ffff80002a778010,ffff80002a7d3af0,ffff80002a7d3a40) at sys_getdents+0x2dd sys/kern/vfs_syscalls.c:3219
syscall(ffff80002a7d3af0) at syscall+0x962 mi_syscall sys/sys/syscall_mi.h:-1 [inline]
syscall(ffff80002a7d3af0) at syscall+0x962 sys/arch/amd64/amd64/trap.c:783
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7e3e3a578e40, count: -5
ddb> show registers
rdi 0x200
rsi 0x800
rbp 0xffff80002a7d38d0
rbx 0x200
rdx 0
rcx 0xfffffd805e78ed40
rax 0xffff800027592200
r8 0xffffffffffffffff
r9 0x3
r10 0x29cd721a814ee5e6
r11 0x762ba58430e5090e
r12 0
r13 0xffff80002a7d3968
r14 0xffff800027592000
r15 0xffff800027592008
rip 0xffffffff8256c56e ufs_readdir+0x26e
cs 0x8
rflags 0x10283 __ALIGN_SIZE+0xf283
rsp 0xffff80002a7d3720
ss 0x10
ufs_readdir+0x26e: movzwl 0x4(%r14),%ebx
ddb> show proc
PROC (syz-executor) tid=11415 pid=69868 tcnt=1 stat=onproc
flags process=2<EXEC> proc=0
runpri=32, usrpri=50, slppri=32, nice=20
wchan=0x0, wmesg=, ps_single=0x0 scnt=0 ecnt=0
forw=0xffffffffffffffff, list=0xffff80002a778540,0xffff80002a779778
process=0xffff80002a79d210 user=0xffff80002a7ce000, vmspace=0xfffffd807ec678a0
estcpu=36, cpticks=9, pctcpu=0.0, user=1, sys=7, intr=1
ddb> ps
PID TID PPID UID S FLAGS WAIT COMMAND
58604 325199 9464 0 2 0 syz-executor
65951 115044 71252 0 3 0x3000 suspend syz-executor
65951 505197 71252 0 2 0x4081000 syz-executor
61504 445526 1 0 3 0x100083 ttyin getty
57752 463963 34043 0 3 0x82 wait syz-executor
71252 13408 34043 0 2 0xc82 syz-executor
9464 90794 34043 0 2 0xc82 syz-executor
*69868 11415 34043 0 7 0x2 syz-executor
34043 287566 39165 0 3 0x82 wait syz-executor
39165 467405 1 0 3 0x10008a sigsusp ksh
88949 157009 74365 73 3 0x1100090 kqread syslogd
74365 405758 1 0 3 0x100082 sbwait syslogd
40647 449555 0 0 3 0x14200 bored smr
98131 51078 0 0 2 0x14200 zerothread
17769 508099 0 0 3 0x14200 aiodoned aiodoned
86581 127240 0 0 3 0x14200 syncer update
42213 498147 0 0 3 0x14200 cleaner cleaner
23687 396354 0 0 3 0x14200 reaper reaper
93010 361069 0 0 3 0x14200 pgdaemon pagedaemon
42434 78104 0 0 3 0x14200 bored viomb
1671 278592 0 0 3 0x40014200 acpi0 acpi0
40743 184061 0 0 3 0x14200 bored softnet0
9662 231995 0 0 3 0x14200 smrbar systqmp
69193 402187 0 0 3 0x14200 bored systq
88536 102620 0 0 3 0x40014200 tmoslp softclock
56394 432121 0 0 3 0x40014200 idle0
1 69875 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb> show all locks
No such command
ddb> show malloc
Type InUse MemUse HighUse Limit Requests Type Lim
devbuf 11031 12107K 12479K 166960K 12655 0
pcb 17 14K 15K 166960K 86 0
rtable 231 8K 9K 166960K 527 0
pf 28 12K 16K 166960K 92 0
ifaddr 38 7K 8K 166960K 94 0
ifgroup 46 2K 2K 166960K 142 0
sysctl 3 1K 9K 166960K 8 0
counters 32 17K 18K 166960K 75 0
ioctlops 0 0K 4K 166960K 177 0
iov 0 0K 12K 166960K 14 0
mount 1 1K 1K 166960K 1 0
log 0 0K 0K 166960K 4 0
vnodes 1359 85K 86K 166960K 1802 0
UFS quota 1 32K 32K 166960K 1 0
UFS mount 5 36K 36K 166960K 5 0
shm 2 1K 5K 166960K 4 0
VM map 2 1K 1K 166960K 2 0
sem 12 0K 1K 166960K 31 0
dirhash 12 2K 2K 166960K 24 0
ACPI 1692 195K 286K 166960K 12470 0
file desc 13 45K 97K 166960K 561 0
sigio 0 0K 0K 166960K 14 0
proc 47 34K 124K 166960K 622 0
subproc 72 4K 4K 166960K 91 0
NFS srvsock 1 0K 0K 166960K 1 0
NFS daemon 1 16K 16K 166960K 1 0
ip_moptions 0 0K 0K 166960K 49 0
in_multi 94 6K 7K 166960K 152 0
ether_multi 1 0K 0K 166960K 3 0
mrt 0 0K 0K 166960K 26 0
ISOFS mount 1 32K 32K 166960K 1 0
MSDOSFS mount 1 16K 16K 166960K 1 0
ttys 85 387K 387K 166960K 85 0
exec 0 0K 1K 166960K 418 0
fusefs mount 1 32K 32K 166960K 1 0
pfkey data 0 0K 0K 166960K 1 0
tdb 3 0K 0K 166960K 3 0
VM swap 8 62K 64K 166960K 10 0
UVM amap 128 98K 168K 166960K 6586 0
UVM aobj 7 2K 2K 166960K 8 0
pinsyscall 20 40K 96K 166960K 1721 0
memdesc 1 4K 4K 166960K 1 0
crypto data 1 1K 1K 166960K 1 0
ip6_options 0 0K 1K 166960K 36 0
NDP 10 0K 2K 166960K 56 0
temp 74 9112K 9168K 166960K 15986 0
kqueue 3 4K 34K 166960K 131 0
SYN cache 2 16K 16K 166960K 2 0
ddb> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
rtpcb 120 61 0 61 1 0 1 1 0 8 1
rtentry 136 166 0 68 4 0 4 4 0 8 0
unpcb 144 191 0 186 1 0 1 1 0 8 0
syncache 336 5 0 5 2 1 1 1 0 8 1
tcpcb 736 154 0 152 7 0 7 7 0 8 6
arp 96 23 0 10 1 0 1 1 0 8 0
ipq 40 2 0 1 1 0 1 1 0 8 0
ipqe 40 3 0 2 1 0 1 1 0 8 0
inpcb 328 470 0 467 13 3 10 12 0 8 8
ip6q 72 1 0 0 1 0 1 1 0 8 0
ip6af 40 1 0 0 1 0 1 1 0 8 0
nd6 112 40 0 16 1 0 1 1 0 8 0
pkpcb 40 2 0 2 1 1 0 1 0 8 0
kcovpl 48 10 0 2 1 0 1 1 0 8 0
ppxss 1072 26 0 26 2 1 1 1 0 8 1
pppxif 1416 13 0 13 2 1 1 1 0 8 1
rttmr 136 5 0 5 2 1 1 1 0 8 1
art_heap8 4096 3 0 0 3 0 3 3 0 8 0
art_heap4 256 923 0 408 38 4 34 34 0 8 1
art_table 40 926 0 408 6 0 6 6 0 8 0
art_node 32 165 0 72 1 0 1 1 0 8 0
sysvmsgpl 40 8 0 5 1 0 1 1 0 8 0
semupl 112 1 0 1 1 1 0 1 0 8 0
semapl 72 28 0 18 1 0 1 1 0 8 0
shmpl 112 5 0 1 1 0 1 1 0 8 0
dirhash 1024 25 0 8 3 0 3 3 0 8 0
dino2pl 256 2431 0 967 92 0 92 92 0 8 0
ffsino 256 2432 0 968 92 0 92 92 0 8 0
nchpl 144 3149 0 1445 64 0 64 64 0 8 0
rtmask 32 3 0 3 2 1 1 1 0 8 1
vnodes 216 2711 0 0 151 0 151 151 0 8 0
namei 1024 10653 0 10653 4 2 2 2 0 8 2
kstatmem 264 73 0 52 2 0 2 2 0 8 0
scsiplug 72 2 0 2 2 1 1 1 0 8 1
scxspl 216 18520 0 18520 10 2 8 8 1 8 8
plimitpl 152 192 0 180 1 0 1 1 0 8 0
sigapl 424 854 0 823 6 1 5 6 0 8 0
knotepl 120 20472 0 20450 36 27 9 22 0 8 7
kqueuepl 184 217 0 213 3 0 3 3 0 8 2
pipepl 304 157 0 130 3 0 3 3 0 8 0
fdescpl 448 841 0 823 5 1 4 5 0 8 0
filepl 120 4304 0 4129 11 1 10 10 0 8 1
lockfpl 104 268 0 267 2 0 2 2 0 8 1
lockfspl 48 129 0 128 1 0 1 1 0 8 0
sessionpl 144 48 0 44 1 0 1 1 0 8 0
pgrppl 48 64 0 52 1 0 1 1 0 8 0
ucredpl 104 758 0 753 1 0 1 1 0 8 0
zombiepl 144 829 0 823 2 1 1 1 0 8 0
processpl 1152 854 0 823 4 0 4 4 0 8 0
procpl 664 1439 0 1407 5 0 5 5 0 8 0
sockpl 552 735 0 727 13 3 10 11 0 8 8
mcl64k 65536 55 0 54 1 0 1 1 0 8 0
mcl16k 16384 9 0 9 1 1 0 1 0 8 0
mcl12k 12288 13 0 13 2 1 1 1 0 8 1
mcl9k128 9344 5 0 5 2 1 1 1 0 8 1
mcl8k 8192 35 0 35 2 1 1 1 0 8 1
mcl4k 4096 3127 0 3068 15 6 9 14 0 8 1
mcl2k 2048 527 0 526 6 4 2 5 0 8 1
mtagpl 96 11 0 8 2 1 1 1 0 8 0
mbufpl 256 8773 0 8637 17 1 16 17 0 8 0
bufpl 280 8116 0 1900 445 0 445 445 0 8 0
anonpl 24 144805 0 143001 60 14 46 50 0 186 9
amapchunkpl 152 33059 0 32775 56 23 33 41 0 158 13
amappl16 200 3072 0 3056 20 7 13 15 0 8 8
amappl15 192 5 0 5 1 1 0 1 0 8 0
amappl14 184 437 0 436 1 0 1 1 0 8 0
amappl13 176 165 0 162 1 0 1 1 0 8 0
amappl12 168 1085 0 1069 2 0 2 2 0 8 0
amappl11 160 3 0 3 1 1 0 1 0 8 0
amappl10 152 57 0 53 1 0 1 1 0 8 0
amappl9 144 270 0 268 1 0 1 1 0 8 0
amappl8 136 101 0 100 1 0 1 1 0 8 0
amappl7 128 150 0 144 1 0 1 1 0 8 0
amappl6 120 173 0 171 1 0 1 1 0 8 0
amappl5 112 94 0 91 1 0 1 1 0 8 0
amappl4 104 274 0 263 1 0 1 1 0 8 0
amappl3 96 4128 0 4068 4 0 4 4 0 8 0
amappl2 88 546 0 525 2 0 2 2 0 8 0
amappl1 80 12142 0 11968 13 1 12 13 0 8 2
amappl 88 5775 0 5675 4 0 4 4 0 92 0
uvmvnodes 80 110 0 0 3 0 3 3 0 8 0
dma4096 4096 1 0 1 1 1 0 1 0 8 0
dma1024 1024 1 0 0 1 0 1 1 0 8 0
dma256 256 6 0 6 1 1 0 1 0 8 0
dma128 128 253 0 253 1 1 0 1 0 8 0
dma64 64 6 0 6 1 1 0 1 0 8 0
dma32 32 7 0 7 1 1 0 1 0 8 0
dma16 16 18 0 17 1 0 1 1 0 8 0
aobjpl 72 7 0 1 1 0 1 1 0 8 0
uaddrrnd 24 841 0 823 1 0 1 1 0 8 0
uaddrbest 32 2 0 0 1 0 1 1 0 8 0
uaddr 24 841 0 823 1 0 1 1 0 8 0
vmmpekpl 168 8231 0 8188 2 0 2 2 0 8 0
vmmpepl 168 61697 0 60869 97 6 91 91 0 357 34
vmsppl 368 840 0 823 4 1 3 4 0 8 0
rwobjpl 40 19908 0 19393 13 0 13 13 0 8 0
pdppl 4096 1688 0 1646 98 46 52 82 0 8 10
pvpl 32 407956 0 403692 163 41 122 148 0 265 27
pmappl 216 840 0 823 3 0 3 3 0 8 0
extentpl 40 45 0 27 1 0 1 1 0 8 0
phpool 112 393 0 70 10 0 10 10 0 8 0
ddb> machine ddbcpu 0
No such command
ddb> trace
ufs_readdir(ffff80002a7d38e0) at ufs_readdir+0x26e sys/ufs/ufs/ufs_vnops.c:1397
VOP_READDIR(fffffd805fec4ce0,ffff80002a7d3968,fffffd8007ffd548,ffff80002a7d39ac) at VOP_READDIR+0x125 sys/kern/vfs_vops.c:453
sys_getdents(ffff80002a778010,ffff80002a7d3af0,ffff80002a7d3a40) at sys_getdents+0x2dd sys/kern/vfs_syscalls.c:3219
syscall(ffff80002a7d3af0) at syscall+0x962 mi_syscall sys/sys/syscall_mi.h:-1 [inline]
syscall(ffff80002a7d3af0) at syscall+0x962 sys/arch/amd64/amd64/trap.c:783
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7e3e3a578e40, count: -5
ddb> machine ddbcpu 1
No such command
ddb> trace
ufs_readdir(ffff80002a7d38e0) at ufs_readdir+0x26e sys/ufs/ufs/ufs_vnops.c:1397
VOP_READDIR(fffffd805fec4ce0,ffff80002a7d3968,fffffd8007ffd548,ffff80002a7d39ac) at VOP_READDIR+0x125 sys/kern/vfs_vops.c:453
sys_getdents(ffff80002a778010,ffff80002a7d3af0,ffff80002a7d3a40) at sys_getdents+0x2dd sys/kern/vfs_syscalls.c:3219
syscall(ffff80002a7d3af0) at syscall+0x962 mi_syscall sys/sys/syscall_mi.h:-1 [inline]
syscall(ffff80002a7d3af0) at syscall+0x962 sys/arch/amd64/amd64/trap.c:783
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7e3e3a578e40, count: -5
ddb>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages