uvm_fault: pool_do_put (3)

0 views
Skip to first unread message

syzbot

unread,
Nov 18, 2023, 12:41:25 PM11/18/23
to syzkaller-o...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 0a5044de2e52 Check for negative IV length
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=13e1db3f680000
kernel config: https://syzkaller.appspot.com/x/.config?x=1bc15e68cd2a49e5
dashboard link: https://syzkaller.appspot.com/bug?extid=4b617db9aa9a415bbfe8

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/1d86a9c2f4b2/disk-0a5044de.raw.xz
bsd.gdb: https://storage.googleapis.com/syzbot-assets/37ab13c5818d/bsd-0a5044de.gdb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e5b065a45c77/kernel-0a5044de.xz

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

uvm_fault(0xfffffd8078e528a8, 0xa, 0, 1) -> e
kernel: page fault trap, code=0
Stopped at pool_do_put+0x115: movq 0x8(%rbx),%rbx
TID PID UID PRFLAGS PFLAGS CPU COMMAND
pool_do_put(ffffffff82d5cb80,fffffd806ee82008) at pool_do_put+0x115
pool_put(ffffffff82d5cb80,fffffd806ee82008) at pool_put+0x6b sys/kern/subr_pool.c:799
soclose(fffffd806ee82008,0) at soclose+0x4ba sys/kern/uipc_socket.c:440
soo_close(fffffd8062b70268,ffff8000216a9d58) at soo_close+0x44
fdrop(fffffd8062b70268,ffff8000216a9d58) at fdrop+0xcb sys/kern/kern_descrip.c:1274
closef(fffffd8062b70268,ffff8000216a9d58) at closef+0x11b sys/kern/kern_descrip.c:1258
fdfree(ffff8000216a9d58) at fdfree+0xf3 sys/kern/kern_descrip.c:1190
exit1(ffff8000216a9d58,0,0,1) at exit1+0x367 sys/kern/kern_exit.c:199
sys_exit(ffff8000216a9d58,ffff80002416bf40,ffff80002416bf90) at sys_exit+0x1a sys/kern/kern_exit.c:89
syscall(ffff80002416c010) at syscall+0x4a8 sys/arch/amd64/amd64/trap.c:623
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x787276fe77c0, count: 4
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(0xfffffd8078e528a8, 0xa, 0, 1) -> e
ddb> trace
pool_do_put(ffffffff82d5cb80,fffffd806ee82008) at pool_do_put+0x115
pool_put(ffffffff82d5cb80,fffffd806ee82008) at pool_put+0x6b sys/kern/subr_pool.c:799
soclose(fffffd806ee82008,0) at soclose+0x4ba sys/kern/uipc_socket.c:440
soo_close(fffffd8062b70268,ffff8000216a9d58) at soo_close+0x44
fdrop(fffffd8062b70268,ffff8000216a9d58) at fdrop+0xcb sys/kern/kern_descrip.c:1274
closef(fffffd8062b70268,ffff8000216a9d58) at closef+0x11b sys/kern/kern_descrip.c:1258
fdfree(ffff8000216a9d58) at fdfree+0xf3 sys/kern/kern_descrip.c:1190
exit1(ffff8000216a9d58,0,0,1) at exit1+0x367 sys/kern/kern_exit.c:199
sys_exit(ffff8000216a9d58,ffff80002416bf40,ffff80002416bf90) at sys_exit+0x1a sys/kern/kern_exit.c:89
syscall(ffff80002416c010) at syscall+0x4a8 sys/arch/amd64/amd64/trap.c:623
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x787276fe77c0, count: -11
ddb> show registers
rdi 0
rsi 0x2
rbp 0xffff80002416bca0
rbx 0x2
rdx 0
rcx 0xfffffd80702e93e0
rax 0xffff8000216a9d58
r8 0
r9 0
r10 0x7277e38d98bfc8ef
r11 0x1bab321bc03df89a
r12 0xfffffd806ee82008
r13 0x59e7f1d5aef25919
r14 0xffffffff82d5cb80 socket_pool
r15 0xfffffd806ee82f90
rip 0xffffffff8210fe15 pool_do_put+0x115
cs 0x8
rflags 0x10286 __ALIGN_SIZE+0xf286
rsp 0xffff80002416bbf0
ss 0x10
pool_do_put+0x115: movq 0x8(%rbx),%rbx
ddb> show proc
PROC (syz-executor.3) tid=243181 pid=72714 tcnt=1 stat=onproc
flags process=1008<EXITING,SINGLEEXIT> proc=2000<WEXIT>
runpri=32, usrpri=79, slppri=32, nice=20
wchan=0x0, wmesg=, ps_single=0xffff8000216a9d58
forw=0xffffffffffffffff, list=0xffff800021695d60,0xffff8000216aa2b8
process=0xffff8000216d4fc0 user=0xffff800024167000, vmspace=0xfffffd8078e528a8
estcpu=36, cpticks=1, pctcpu=0.0, user=0, sys=1, intr=0
ddb> ps
PID TID PPID UID S FLAGS WAIT COMMAND
1576 139869 14237 0 2 0 syz-executor.5
1576 149331 14237 0 2 0x4000000 syz-executor.5
25599 348762 76492 0 3 0x4000080 nanoslp syz-executor.2
25599 190628 76492 0 3 0x4000080 fsleep syz-executor.2
37442 351851 19212 0 2 0 syz-executor.7
37442 324095 19212 0 3 0x4000080 fsleep syz-executor.7
51296 513303 87339 0 4 0x82000 syz-executor.0
51296 456198 87339 0 3 0x4082000 kernel: protection fault trap, code=0
Faulted in DDB; continuing...
ddb> show all locks
No such command
ddb> show malloc
Type InUse MemUse HighUse Limit Requests Type Lim
devbuf 10312 6964K 8238K 78643K 47694 0
pcb 13 16K 18K 78643K 914 0
rtable 242 15K 15K 78643K 908 0
pf 34 9K 10K 78643K 215 0
ifaddr 45 12K 13K 78643K 168 0
ifgroup 59 2K 2K 78643K 340 0
sysctl 3 0K 0K 78643K 17 0
counters 30 17K 17K 78643K 118 0
ioctlops 0 0K 2K 78643K 341 0
iov 0 0K 18K 78643K 775 0
mount 1 1K 1K 78643K 1 0
log 0 0K 0K 78643K 4 0
vnodes 1471 92K 92K 78643K 10100 0
UFS quota 1 32K 32K 78643K 1 0
UFS mount 5 36K 36K 78643K 5 0
shm 2 1K 9K 78643K 66 0
VM map 2 1K 1K 78643K 2 0
sem 12 0K 0K 78643K 2698 0
dirhash 12 2K 2K 78643K 27 0
ACPI 1697 195K 286K 78643K 12548 0
file desc 16 57K 69K 78643K 10712 0
sigio 0 0K 0K 78643K 126 0
proc 58 59K 75K 78643K 1068 0
subproc 104 6K 6K 78643K 259 0
NFS srvsock 1 0K 0K 78643K 1 0
NFS daemon 1 16K 16K 78643K 1 0
ip_moptions 0 0K 0K 78643K 837 0
in_multi 99 7K 7K 78643K 429 0
ether_multi 1 0K 0K 78643K 4 0
mrt 2 0K 0K 78643K 11 0
ISOFS mount 1 32K 32K 78643K 1 0
MSDOSFS mount 1 16K 16K 78643K 1 0
ttys 223 996K 996K 78643K 223 0
exec 0 0K 1K 78643K 1584 0
pfkey data 0 0K 0K 78643K 5 0
tdb 3 0K 0K 78643K 3 0
pagedep 1 8K 8K 78643K 1 0
inodedep 1 32K 32K 78643K 1 0
newblk 1 0K 0K 78643K 1 0
VM swap 8 62K 64K 78643K 10 0
UVM amap 446 246K 247K 78643K 99101 0
UVM aobj 131 4K 4K 78643K 134 0
memdesc 1 4K 4K 78643K 1 0
crypto data 1 1K 1K 78643K 1 0
ip6_options 2 0K 1K 78643K 3412 0
NDP 13 0K 1K 78643K 135 0
temp 75 5916K 6040K 78643K 58032 0
kqueue 12 18K 34K 78643K 520 0
SYN cache 2 16K 16K 78643K 2 0
ddb> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
rtpcb 120 387 0 384 6 5 1 3 0 8 0
rtentry 112 228 0 117 4 0 4 4 0 8 0
unpcb 144 13687 0 13608 71 65 6 10 0 8 3
syncache 312 104 0 104 16 16 0 1 0 8 0
tcpqe 32 374 0 374 15 15 0 2 0 8 0
tcpcb 808 6929 0 6910 109 104 5 18 0 8 2
arp 88 38 0 19 1 0 1 1 0 8 0
ipq 40 16 0 15 5 4 1 1 0 8 0
ipqe 40 50 0 49 5 4 1 1 0 8 0
inpcb 336 11486 0 11461 126 118 8 19 0 8 5
nd6 104 60 0 36 1 0 1 1 0 8 0
pkpcb 40 34 0 34 6 5 1 1 0 8 1
kcovpl 48 17 0 9 1 0 1 1 0 8 0
ppxss 1160 38 0 38 9 8 1 1 0 8 1
art_heap8 4096 1 0 0 1 0 1 1 0 8 0
art_heap4 256 905 0 440 32 2 30 30 0 8 0
art_table 32 906 0 440 4 0 4 4 0 8 0
art_node 16 220 0 119 1 0 1 1 0 8 0
sysvmsgpl 40 62 0 26 1 0 1 1 0 8 0
semapl 112 2696 0 2686 1 0 1 1 0 8 0
shmpl 112 131 0 3 4 0 4 4 0 8 0
dirhash 1024 27 0 10 3 0 3 3 0 8 0
dino2pl 256 15638 0 14168 93 0 93 93 0 8 0
ffsino 240 15638 0 14168 87 0 87 87 0 8 0
nchpl 144 35457 0 34973 63 41 22 63 0 8 0
uvmvnodes 80 5926 0 0 121 0 121 121 0 8 0
vnodes 216 5926 0 0 330 0 330 330 0 8 0
namei 1024 103339 0 103339 8 7 1 3 0 8 1
vcpupl 2048 40 0 0 5 0 5 5 0 8 0
vmpool 664 67 0 27 4 0 4 4 0 8 0
kstatmem 264 202 0 176 4 1 3 3 0 8 1
scxspl 216 90292 0 90292 21 20 1 8 1 8 1
plimitpl 152 777 0 762 1 0 1 1 0 8 0
sigapl 424 11200 0 11135 8 0 8 8 0 8 0
futexpl 64 138641 0 138639 3 2 1 1 0 8 0
knotepl 120 94576 0 94496 34 31 3 16 0 8 0
kqueuepl 184 1524 0 1516 20 19 1 6 0 8 0
pipepl 288 6565 0 6537 51 44 7 12 0 8 4
fdescpl 432 10979 0 10952 6 2 4 4 0 8 0
filepl 120 80951 0 80640 99 84 15 19 0 8 5
lockfpl 104 12760 0 12755 22 20 2 4 0 8 1
lockfspl 48 5606 0 5601 4 3 1 2 0 8 0
sessionpl 144 34 0 18 1 0 1 1 0 8 0
pgrppl 48 181 0 165 1 0 1 1 0 8 0
ucredpl 104 6414 0 6399 1 0 1 1 0 8 0
zombiepl 144 11136 0 11135 3 2 1 1 0 8 0
processpl 1008 11200 0 11135 10 1 9 9 0 8 0
procpl 680 26354 0 26270 18 9 9 9 0 8 1
sosppl 168 73 0 70 7 6 1 1 0 8 0
sockpl 456 25600 0 25495 361 347 14 35 0 8 0
sockpl: pool(0xffffffff82d5cb80:sockpl): page inconsistency: page 0xfffffd806ee82000; item ordinal 0; addr 0x2
mcl64k 65536 310 0 310 14 13 1 1 0 8 1
mcl16k 16384 252 0 252 15 14 1 1 0 8 1
mcl12k 12288 430 0 430 12 11 1 1 0 8 1
mcl9k 9216 223 0 223 15 15 0 1 0 8 0
mcl8k 8192 2670 0 2670 8 7 1 1 0 8 1
mcl4k 4096 1246 0 1245 10 9 1 2 0 8 0
mcl2k2 2112 63 0 63 19 18 1 1 0 8 1
mcl2k 2048 90177 0 90066 95 74 21 45 0 8 0
mtagpl 96 9919 0 8237 49 7 42 44 0 8 0
mbufpl 256 262874 0 260952 333 204 129 173 0 8 5
bufpl 288 20876 0 14482 458 0 458 458 0 8 0
anonpl 24 997275 0 983269 158 66 92 112 0 188 0
amapchunkpl 152 314999 0 314117 89 51 38 46 0 158 2
amappl16 200 18558 0 18107 58 34 24 33 0 8 0
amappl15 192 26 0 25 2 1 1 1 0 8 0
amappl14 184 182 0 170 2 1 1 2 0 8 0
amappl13 176 14 0 14 2 2 0 1 0 8 0
amappl12 168 11749 0 11721 2 0 2 2 0 8 0
amappl11 160 54 0 44 1 0 1 1 0 8 0
amappl10 152 30 0 22 2 1 1 1 0 8 0
amappl9 144 232 0 230 1 0 1 1 0 8 0
amappl8 136 584 0 466 5 0 5 5 0 8 0
amappl7 128 206 0 185 2 0 2 2 0 8 0
amappl6 120 470 0 457 1 0 1 1 0 8 0
amappl5 112 261 0 252 1 0 1 1 0 8 0
amappl4 104 685 0 662 2 1 1 2 0 8 0
amappl3 96 62400 0 62310 3 0 3 3 0 8 0
amappl2 88 14105 0 14027 3 1 2 3 0 8 0
amappl1 80 46690 0 46183 22 10 12 22 0 8 0
amappl 88 98244 0 97988 7 0 7 7 0 92 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 133 0 3 3 0 3 3 0 8 0
uaddrrnd 24 11046 0 10979 1 0 1 1 0 8 0
uaddrbest 32 2 0 0 1 0 1 1 0 8 0
uaddr 24 11046 0 10979 1 0 1 1 0 8 0
vmmpekpl 168 93403 0 93323 4 0 4 4 0 8 0
vmmpepl 168 633088 0 630746 217 109 108 123 0 357 0
vmsppl 368 11045 0 10979 9 2 7 7 0 8 0
rwobjpl 24 150656 0 143074 48 1 47 47 0 8 0
pdppl 4096 22098 0 21998 372 268 104 104 0 8 4
pvpl 32 2866624 0 2846856 417 249 168 320 0 265 1
pmappl 216 11045 0 10979 4 0 4 4 0 8 0
extentpl 40 56 0 38 1 0 1 1 0 8 0
phpool 112 1866 0 893 30 0 30 30 0 8 0
ddb> machine ddbcpu 0
No such command
ddb> trace
pool_do_put(ffffffff82d5cb80,fffffd806ee82008) at pool_do_put+0x115
pool_put(ffffffff82d5cb80,fffffd806ee82008) at pool_put+0x6b sys/kern/subr_pool.c:799
soclose(fffffd806ee82008,0) at soclose+0x4ba sys/kern/uipc_socket.c:440
soo_close(fffffd8062b70268,ffff8000216a9d58) at soo_close+0x44
fdrop(fffffd8062b70268,ffff8000216a9d58) at fdrop+0xcb sys/kern/kern_descrip.c:1274
closef(fffffd8062b70268,ffff8000216a9d58) at closef+0x11b sys/kern/kern_descrip.c:1258
fdfree(ffff8000216a9d58) at fdfree+0xf3 sys/kern/kern_descrip.c:1190
exit1(ffff8000216a9d58,0,0,1) at exit1+0x367 sys/kern/kern_exit.c:199
sys_exit(ffff8000216a9d58,ffff80002416bf40,ffff80002416bf90) at sys_exit+0x1a sys/kern/kern_exit.c:89
syscall(ffff80002416c010) at syscall+0x4a8 sys/arch/amd64/amd64/trap.c:623
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x787276fe77c0, count: -11
ddb> machine ddbcpu 1
No such command
ddb> trace
pool_do_put(ffffffff82d5cb80,fffffd806ee82008) at pool_do_put+0x115
pool_put(ffffffff82d5cb80,fffffd806ee82008) at pool_put+0x6b sys/kern/subr_pool.c:799
soclose(fffffd806ee82008,0) at soclose+0x4ba sys/kern/uipc_socket.c:440
soo_close(fffffd8062b70268,ffff8000216a9d58) at soo_close+0x44
fdrop(fffffd8062b70268,ffff8000216a9d58) at fdrop+0xcb sys/kern/kern_descrip.c:1274
closef(fffffd8062b70268,ffff8000216a9d58) at closef+0x11b sys/kern/kern_descrip.c:1258
fdfree(ffff8000216a9d58) at fdfree+0xf3 sys/kern/kern_descrip.c:1190
exit1(ffff8000216a9d58,0,0,1) at exit1+0x367 sys/kern/kern_exit.c:199
sys_exit(ffff8000216a9d58,ffff80002416bf40,ffff80002416bf90) at sys_exit+0x1a sys/kern/kern_exit.c:89
syscall(ffff80002416c010) at syscall+0x4a8 sys/arch/amd64/amd64/trap.c:623
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x787276fe77c0, count: -11


---
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

syzbot

unread,
Feb 16, 2024, 12:41:15 PMFeb 16
to syzkaller-o...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages