assert "uvn->u_obj.uo_refs == NUM" failed in uvm_vnode.c (2)

0 views
Skip to first unread message

syzbot

unread,
Oct 4, 2022, 8:21:35 PM10/4/22
to syzkaller-o...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 0b11e45035f5 Better path handling description, also docume..
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=10a67514880000
kernel config: https://syzkaller.appspot.com/x/.config?x=7058272de1526588
dashboard link: https://syzkaller.appspot.com/bug?extid=8acb3d0ef5a5eb5456c8

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/faa68b7afcdc/disk-0b11e450.raw.xz
bsd.gdb: https://storage.googleapis.com/syzbot-assets/8bc66116637a/bsd-0b11e450.gdb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/70c6bea9666b/kernel-0b11e450.xz

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

login: panic: kernel diagnostic assertion "uvn->u_obj.uo_refs == 0" failed: file "/syzkaller/managers/setuid/kernel/sys/uvm/uvm_vnode.c", line 235
Stopped at db_enter+0x18: addq $0x8,%rsp
TID PID UID PRFLAGS PFLAGS CPU COMMAND
25850 7756 32767 0x10 0 1 syz-executor.2
* 84545 7756 32767 0x10 0x4000000 0K syz-executor.2
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff825a55e6) at panic+0x177 sys/kern/subr_prf.c:198
__assert(ffffffff8261b443,ffffffff8263e6a2,eb,ffffffff82637043) at __assert+0x25 sys/kern/subr_prf.c:157
uvn_attach(fffffd8068731948,6) at uvn_attach+0x454 sys/uvm/uvm_vnode.c:235
uvm_mmapfile(fffffd8068664e78,ffff8000293ca3b8,10000,2,6,11,cb049caa53c5da18,fffffd8068664e78,0,11) at uvm_mmapfile+0x194 sys/uvm/uvm_mmap.c:1029
sys_mmap(ffff8000212f4fd0,ffff8000293ca460,ffff8000293ca530) at sys_mmap+0xb4a sys/uvm/uvm_mmap.c:395
sys_pad_mmap(ffff8000212f4fd0,ffff8000293ca4e8,ffff8000293ca530) at sys_pad_mmap+0x68 sys/uvm/uvm_mmap.c:470
syscall(ffff8000293ca5b0) at syscall+0x435 mi_syscall sys/sys/syscall_mi.h:101 [inline]
syscall(ffff8000293ca5b0) at syscall+0x435 sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xebc27e7c5f0, count: 6
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{0}>
ddb{0}> set $lines = 0
ddb{0}> set $maxwidth = 0
ddb{0}> show panic
*cpu0: kernel diagnostic assertion "uvn->u_obj.uo_refs == 0" failed: file "/syzkaller/managers/setuid/kernel/sys/uvm/uvm_vnode.c", line 235
ddb{0}> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff825a55e6) at panic+0x177 sys/kern/subr_prf.c:198
__assert(ffffffff8261b443,ffffffff8263e6a2,eb,ffffffff82637043) at __assert+0x25 sys/kern/subr_prf.c:157
uvn_attach(fffffd8068731948,6) at uvn_attach+0x454 sys/uvm/uvm_vnode.c:235
uvm_mmapfile(fffffd8068664e78,ffff8000293ca3b8,10000,2,6,11,cb049caa53c5da18,fffffd8068664e78,0,11) at uvm_mmapfile+0x194 sys/uvm/uvm_mmap.c:1029
sys_mmap(ffff8000212f4fd0,ffff8000293ca460,ffff8000293ca530) at sys_mmap+0xb4a sys/uvm/uvm_mmap.c:395
sys_pad_mmap(ffff8000212f4fd0,ffff8000293ca4e8,ffff8000293ca530) at sys_pad_mmap+0x68 sys/uvm/uvm_mmap.c:470
syscall(ffff8000293ca5b0) at syscall+0x435 mi_syscall sys/sys/syscall_mi.h:101 [inline]
syscall(ffff8000293ca5b0) at syscall+0x435 sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xebc27e7c5f0, count: -9
ddb{0}> show registers
rdi 0
rsi 0x1
rbp 0xffff8000293ca050
rbx 0xffffffff8296db8f cpu_info_full_primary+0x2b8f
rdx 0
rcx 0
rax 0xffff8000212f4fd0
r8 0x101010101010101
r9 0x8080808080808080
r10 0xa55332d288dd13a9
r11 0x47b42c0bc4a54729
r12 0xffffffff8296d990 cpu_info_full_primary+0x2990
r13 0
r14 0
r15 0x1
rip 0xffffffff8228a448 db_enter+0x18
cs 0x8
rflags 0x246
rsp 0xffff8000293ca040
ss 0x10
db_enter+0x18: addq $0x8,%rsp
ddb{0}> show proc
PROC (syz-executor.2) pid=84545 stat=onproc
flags process=10<SUGID> proc=4000000<THREAD>
pri=32, usrpri=81, nice=20
forw=0xffffffffffffffff, list=0xffff8000212f4550,0xffffffff82a01730
process=0xffff8000ffff3620 user=0xffff8000293c5000, vmspace=0xfffffd8068664e78
estcpu=36, cpticks=1, pctcpu=0.0
user=0, sys=1, intr=0
ddb{0}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
7756 25850 83298 32767 7 0x10 syz-executor.2
7756 124382 83298 32767 2 0x4000010 syz-executor.2
* 7756 84545 83298 32767 7 0x4000010 syz-executor.2
10264 365493 11105 32767 2 0x10 syz-executor.3
10264 122052 11105 32767 3 0x4000090 fsleep syz-executor.3
10264 143210 11105 32767 3 0x4000090 fsleep syz-executor.3
10264 67668 11105 32767 2 0x4000010 syz-executor.3
62844 159735 14285 32767 2 0x10 syz-executor.5
62844 475490 14285 32767 3 0x4000090 fsleep syz-executor.5
62844 374809 14285 32767 3 0x4000090 fsleep syz-executor.5
11765 58836 10136 32767 2 0x10 syz-executor.6
11765 424649 10136 32767 3 0x4000090 fsleep syz-executor.6
11765 154760 10136 32767 3 0x4000090 fsleep syz-executor.6
11765 330360 10136 32767 3 0x4000090 fsleep syz-executor.6
66169 361848 52240 32767 2 0x10 syz-executor.0
10209 222696 0 0 3 0x14200 bored sosplice
25748 144348 52669 32767 2 0x10 syz-executor.7
10136 219645 65499 32767 3 0x90 nanoslp syz-executor.6
65499 188830 99006 0 3 0x82 wait syz-executor.6
52669 413221 99006 0 3 0x82 wait syz-executor.7
14285 57708 34629 32767 2 0x490 syz-executor.5
34629 522066 99006 0 3 0x82 wait syz-executor.5
87745 345102 23517 32767 2 0x10 syz-executor.4
83298 158390 27442 32767 3 0x90 nanoslp syz-executor.2
48984 364791 32409 32767 2 0x10 syz-executor.1
11105 301574 14174 32767 2 0x490 syz-executor.3
23517 473035 99006 0 3 0x82 wait syz-executor.4
14174 407286 99006 0 3 0x82 wait syz-executor.3
27442 64434 99006 0 3 0x82 wait syz-executor.2
52240 367126 7037 32767 2 0x10 syz-executor.0
32409 313676 99006 0 3 0x82 wait syz-executor.1
7037 439564 99006 0 3 0x82 wait syz-executor.0
99006 367599 24341 0 3 0x82 wait syz-fuzzer
99006 140661 24341 0 2 0x4000482 syz-fuzzer
99006 431454 24341 0 3 0x4000082 thrsleep syz-fuzzer
99006 310765 24341 0 3 0x4000082 wait syz-fuzzer
99006 149500 24341 0 3 0x4000082 wait syz-fuzzer
99006 276463 24341 0 3 0x4000082 wait syz-fuzzer
99006 383258 24341 0 3 0x4000082 wait syz-fuzzer
99006 442565 24341 0 3 0x4000082 thrsleep syz-fuzzer
99006 349982 24341 0 3 0x4000082 thrsleep syz-fuzzer
99006 476787 24341 0 3 0x4000082 wait syz-fuzzer
99006 73372 24341 0 3 0x4000082 wait syz-fuzzer
99006 151077 24341 0 3 0x4000082 wait syz-fuzzer
99006 513484 24341 0 3 0x4000082 thrsleep syz-fuzzer
99006 248645 24341 0 3 0x4000082 thrsleep syz-fuzzer
99006 392595 24341 0 3 0x4000082 thrsleep syz-fuzzer
99006 43075 24341 0 3 0x4000082 kqread syz-fuzzer
24341 233793 79302 0 3 0x10008a sigsusp ksh
79302 304327 32719 0 3 0x9a kqread sshd
7156 341560 1 0 3 0x100083 ttyin getty
32719 386565 1 0 3 0x88 kqread sshd
13505 305850 19895 73 3 0x1100090 kqread syslogd
19895 154686 1 0 3 0x100082 netio syslogd
60487 295487 1 0 3 0x100080 kqread resolvd
27142 443802 7317 77 3 0x100092 kqread dhcpleased
47500 235370 7317 77 3 0x100092 kqread dhcpleased
7317 93886 1 0 3 0x80 kqread dhcpleased
42257 100344 0 0 3 0x14200 bored smr
50885 81714 0 0 2 0x14200 zerothread
82431 209428 0 0 3 0x14200 aiodoned aiodoned
26395 360046 0 0 3 0x14200 syncer update
64301 45477 0 0 3 0x14200 cleaner cleaner
66932 61338 0 0 3 0x14200 reaper reaper
89672 76172 0 0 3 0x14200 pgdaemon pagedaemon
30191 233734 0 0 3 0x14200 bored viomb
77710 454884 0 0 3 0x40014200 acpi0 acpi0
14023 328279 0 0 3 0x40014200 idle1
64336 15827 0 0 3 0x14200 bored softnet
11589 148169 0 0 3 0x14200 bored softnet
3720 375322 0 0 3 0x14200 bored softnet
32666 487488 0 0 3 0x14200 bored softnet
88095 276248 0 0 3 0x14200 bored systqmp
11938 501463 0 0 3 0x14200 bored systq
14930 492185 0 0 2 0x40014200 softclock
7743 229507 0 0 3 0x40014200 idle0
1 16308 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{0}> show all locks
Process 7756 (syz-executor.2) thread 0xffff8000212f4d30 (25850)
exclusive rwlock uobjlk r = 0 (0xfffffd8067de0e48)
#0 witness_lock+0x44d
#1 rw_enter+0x3e1 sys/kern/kern_rwlock.c:310
#2 uvm_fault_lower+0x951 sys/uvm/uvm_fault.c:1324
#3 uvm_fault+0x238
#4 upageflttrap+0x82 sys/arch/amd64/amd64/trap.c:181
#5 usertrap+0x1aa sys/arch/amd64/amd64/trap.c:403
#6 recall_trap+0x8
Process 7756 (syz-executor.2) thread 0xffff8000212f4fd0 (84545)
exclusive kernel_lock &kernel_lock r = 1 (0xffffffff82ba5240)
#0 witness_lock+0x44d
#1 syscall+0x41d mi_syscall sys/sys/syscall_mi.h:100 [inline]
#1 syscall+0x41d sys/arch/amd64/amd64/trap.c:585
#2 Xsyscall+0x128
Process 25748 (syz-executor.7) thread 0xffff8000fffeea80 (144348)
exclusive rrwlock inode r = 0 (0xfffffd8067bb5b40)
#0 witness_lock+0x44d
#1 rw_enter+0x3e1 sys/kern/kern_rwlock.c:310
#2 rrw_enter+0x8b sys/kern/kern_rwlock.c:465
#3 VOP_LOCK+0x87 sys/kern/vfs_vops.c:518
#4 ufs_ihashins+0x42 sys/ufs/ufs/ufs_ihash.c:140
#5 ffs_vget+0x141 sys/ufs/ffs/ffs_vfsops.c:1353
#6 ffs_inode_alloc+0x1be sys/ufs/ffs/ffs_alloc.c:394
#7 ufs_mkdir+0xf4 sys/ufs/ufs/ufs_vnops.c:1150
#8 VOP_MKDIR+0xbf sys/kern/vfs_vops.c:388
#9 domkdirat+0x121 sys/kern/vfs_syscalls.c:3112
#10 syscall+0x435 mi_syscall sys/sys/syscall_mi.h:101 [inline]
#10 syscall+0x435 sys/arch/amd64/amd64/trap.c:585
#11 Xsyscall+0x128
exclusive rrwlock inode r = 0 (0xfffffd8067bb55f0)
#0 witness_lock+0x44d
#1 rw_enter+0x3e1 sys/kern/kern_rwlock.c:310
#2 rrw_enter+0x8b sys/kern/kern_rwlock.c:465
#3 VOP_LOCK+0x87 sys/kern/vfs_vops.c:518
#4 vn_lock+0x84 sys/kern/vfs_vnops.c:564
#5 vfs_lookup+0xd1 sys/kern/vfs_lookup.c:412
#6 namei+0x36a sys/kern/vfs_lookup.c:244
#7 domkdirat+0x75 sys/kern/vfs_syscalls.c:3097
#8 syscall+0x435 mi_syscall sys/sys/syscall_mi.h:101 [inline]
#8 syscall+0x435 sys/arch/amd64/amd64/trap.c:585
#9 Xsyscall+0x128
ddb{0}> show malloc
Type InUse MemUse HighUse Limit Requests Type Lim
devbuf 10215 6412K 6420K 78643K 11307 0
pcb 13 10K 12K 78643K 15 0
rtable 242 6K 7K 78643K 580 0
ifaddr 82 16K 16K 78643K 84 0
sysctl 2 0K 1K 78643K 6 0
counters 56 35K 35K 78643K 56 0
ioctlops 0 0K 2K 78643K 89 0
iov 0 0K 20K 78643K 1683 0
mount 1 1K 1K 78643K 1 0
log 0 0K 0K 78643K 4 0
vnodes 1271 79K 79K 78643K 2184 0
UFS quota 1 32K 32K 78643K 1 0
UFS mount 5 36K 36K 78643K 5 0
shm 2 1K 5K 78643K 55 0
VM map 2 1K 1K 78643K 2 0
sem 12 1K 1K 78643K 180 0
dirhash 12 2K 2K 78643K 12 0
ACPI 1697 195K 286K 78643K 12548 0
file desc 23 85K 113K 78643K 4872 0
sigio 0 0K 0K 78643K 97 0
proc 59 91K 115K 78643K 721 0
subproc 104 6K 6K 78643K 104 0
NFS srvsock 1 0K 0K 78643K 1 0
NFS daemon 1 16K 16K 78643K 1 0
ip_moptions 0 0K 0K 78643K 279 0
in_multi 99 6K 7K 78643K 129 0
ether_multi 1 0K 0K 78643K 10 0
ISOFS mount 1 32K 32K 78643K 1 0
MSDOSFS mount 1 16K 16K 78643K 1 0
ttys 235 1049K 1049K 78643K 235 0
exec 0 0K 2K 78643K 1300 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 330 102K 104K 78643K 30899 0
UVM aobj 111 3K 3K 78643K 111 0
memdesc 1 4K 4K 78643K 1 0
crypto data 1 1K 1K 78643K 1 0
ip6_options 0 0K 0K 78643K 158 0
NDP 11 0K 2K 78643K 27 0
temp 124 4734K 4798K 78643K 14411 0
kqueue 12 18K 28K 78643K 401 0
SYN cache 2 16K 16K 78643K 2 0
ddb{0}> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
plcache 128 22 0 0 1 0 1 1 0 8 0
rtpcb 120 475 0 472 8 7 1 3 0 8 0
rtentry 112 118 0 4 4 0 4 4 0 8 0
unpcb 144 5693 0 5676 53 42 11 11 0 8 10
syncache 296 78 0 78 14 14 0 1 0 8 0
tcpqe 32 76 0 76 9 9 0 1 0 8 0
tcpcb 768 5822 0 5811 106 97 9 24 0 8 7
arp 120 19 0 1 1 0 1 1 0 8 0
ipq 40 6 0 5 4 3 1 1 0 8 0
ipqe 40 25 0 21 4 3 1 1 0 8 0
inpcb 368 7544 0 7534 68 58 10 14 0 8 8
nd6 48 30 0 2 1 0 1 1 0 8 0
kcovpl 48 8 0 0 1 0 1 1 0 8 0
art_heap8 4096 1 0 0 1 0 1 1 0 8 0
art_heap4 256 465 0 5 29 0 29 29 0 8 0
art_table 32 466 0 5 4 0 4 4 0 8 0
art_node 16 117 0 13 1 0 1 1 0 8 0
sysvmsgpl 40 3 0 3 1 1 0 1 0 8 0
semupl 112 4 0 4 1 1 0 1 0 8 0
semapl 112 173 0 163 1 0 1 1 0 8 0
shmpl 112 108 0 0 4 0 4 4 0 8 0
dirhash 1024 17 0 0 3 0 3 3 0 8 0
dino2pl 256 7803 0 6361 91 0 91 91 0 8 0
ffsino 272 7803 0 6361 97 0 97 97 0 8 0
nchpl 144 14256 0 12584 63 0 63 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 48894 0 48893 2 1 1 2 0 8 0
percpumem 16 40 0 0 1 0 1 1 0 8 0
kstatmem 264 22 0 0 2 0 2 2 0 8 0
scxspl 216 39888 0 39888 22 21 1 8 0 8 1
plimitpl 152 829 0 806 10 8 2 2 0 8 1
sigapl 424 5158 0 5106 8 1 7 7 0 8 0
futexpl 64 51682 0 51675 1 0 1 1 0 8 0
knotepl 120 390 0 0 9 0 9 9 0 8 0
kqueuepl 216 1321 0 1313 21 20 1 5 0 8 0
pipepl 320 1235 0 1207 30 27 3 11 0 8 0
fdescpl 496 5140 0 5106 6 1 5 6 0 8 0
filepl 152 38208 0 37904 66 46 20 20 0 8 8
lockfpl 104 811 0 808 2 1 1 2 0 8 0
lockfspl 48 205 0 202 1 0 1 1 0 8 0
sessionpl 144 23 0 7 1 0 1 1 0 8 0
pgrppl 48 59 0 43 1 0 1 1 0 8 0
ucredpl 104 6280 0 6262 1 0 1 1 0 8 0
zombiepl 144 5106 0 5106 1 0 1 1 0 8 1
processpl 1064 5158 0 5106 4 0 4 4 0 8 0
procpl 672 14735 0 14658 18 10 8 9 0 8 0
sosppl 168 69 0 69 8 7 1 1 0 8 1
sockpl 488 13943 0 13913 202 165 37 37 0 8 31
mcl64k 65536 25 0 0 3 0 3 3 0 8 0
mcl16k 16384 20 0 0 3 1 2 3 0 8 0
mcl12k 12288 25 0 0 2 0 2 2 0 8 0
mcl9k 9216 15 0 0 2 0 2 2 0 8 0
mcl8k 8192 25 0 0 3 0 3 3 0 8 0
mcl4k 4096 25 0 0 4 0 4 4 0 8 0
mcl2k2 2112 5 0 0 1 0 1 1 0 8 0
mcl2k 2048 310 0 0 36 1 35 36 0 8 0
mtagpl 96 4 0 0 1 0 1 1 0 8 0
mbufpl 256 1229 0 0 69 0 69 69 0 8 0
bufpl 288 11038 0 4710 453 0 453 453 0 8 0
anonpl 24 1766727 0 1753100 261 128 133 141 0 186 19
amapchunkpl 152 90474 0 89546 61 18 43 43 0 158 7
amappl16 200 59820 0 59485 412 385 27 49 0 8 8
amappl15 192 1372 0 1359 2 1 1 2 0 8 0
amappl14 184 703 0 697 1 0 1 1 0 8 0
amappl13 176 652 0 648 1 0 1 1 0 8 0
amappl12 168 633 0 629 2 1 1 1 0 8 0
amappl11 160 582 0 568 1 0 1 1 0 8 0
amappl10 152 37 0 34 1 0 1 1 0 8 0
amappl9 144 995 0 987 1 0 1 1 0 8 0
amappl8 136 2574 0 2463 5 1 4 4 0 8 0
amappl7 128 1926 0 1901 1 0 1 1 0 8 0
amappl6 120 311 0 290 2 1 1 2 0 8 0
amappl5 112 3110 0 3093 1 0 1 1 0 8 0
amappl4 104 2661 0 2632 2 1 1 2 0 8 0
amappl3 96 16424 0 16362 2 0 2 2 0 8 0
amappl2 88 6557 0 6484 3 1 2 3 0 8 0
amappl1 80 125217 0 124436 22 4 18 21 0 8 0
amappl 88 30195 0 29996 6 1 5 6 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 110 0 0 2 0 2 2 0 8 0
uaddrrnd 24 5140 0 5106 1 0 1 1 0 8 0
uaddrbest 32 2 0 0 1 0 1 1 0 8 0
uaddr 24 5140 0 5106 1 0 1 1 0 8 0
vmmpekpl 168 45595 0 45541 3 0 3 3 0 8 0
vmmpepl 168 552463 0 549556 264 108 156 160 0 357 17
vmsppl 368 5139 0 5106 4 0 4 4 0 8 0
rwobjpl 56 177942 0 170411 127 13 114 115 0 8 2
pdppl 4096 10287 0 10212 188 107 81 89 0 8 6
pvpl 32 2741361 0 2721579 403 170 233 269 0 265 31
pmappl 248 5139 0 5106 3 0 3 3 0 8 0
extentpl 40 56 0 38 1 0 1 1 0 8 0
phpool 112 1057 0 170 26 0 26 26 0 8 0
ddb{0}> machine ddbcpu 0
Invalid cpu 0
ddb{0}> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff825a55e6) at panic+0x177 sys/kern/subr_prf.c:198
__assert(ffffffff8261b443,ffffffff8263e6a2,eb,ffffffff82637043) at __assert+0x25 sys/kern/subr_prf.c:157
uvn_attach(fffffd8068731948,6) at uvn_attach+0x454 sys/uvm/uvm_vnode.c:235
uvm_mmapfile(fffffd8068664e78,ffff8000293ca3b8,10000,2,6,11,cb049caa53c5da18,fffffd8068664e78,0,11) at uvm_mmapfile+0x194 sys/uvm/uvm_mmap.c:1029
sys_mmap(ffff8000212f4fd0,ffff8000293ca460,ffff8000293ca530) at sys_mmap+0xb4a sys/uvm/uvm_mmap.c:395
sys_pad_mmap(ffff8000212f4fd0,ffff8000293ca4e8,ffff8000293ca530) at sys_pad_mmap+0x68 sys/uvm/uvm_mmap.c:470
syscall(ffff8000293ca5b0) at syscall+0x435 mi_syscall sys/sys/syscall_mi.h:101 [inline]
syscall(ffff8000293ca5b0) at syscall+0x435 sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xebc27e7c5f0, count: -9
ddb{0}> machine ddbcpu 1
Stopped at x86_ipi_db+0x1a: addq $0x8,%rsp
x86_ipi_db(ffff800020dd8ff0) at x86_ipi_db+0x1a sys/arch/amd64/amd64/db_interface.c:393
x86_ipi_handler() at x86_ipi_handler+0xb7 sys/arch/amd64/amd64/ipi.c:106
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
__sanitizer_cov_trace_pc() at __sanitizer_cov_trace_pc+0xb sys/dev/kcov.c:144
syscall(ffff80002e4885a0) at syscall+0x41d mi_syscall sys/sys/syscall_mi.h:100 [inline]
syscall(ffff80002e4885a0) at syscall+0x41d sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7ffffc2a10, count: 9
ddb{1}> trace
x86_ipi_db(ffff800020dd8ff0) at x86_ipi_db+0x1a sys/arch/amd64/amd64/db_interface.c:393
x86_ipi_handler() at x86_ipi_handler+0xb7 sys/arch/amd64/amd64/ipi.c:106
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
__sanitizer_cov_trace_pc() at __sanitizer_cov_trace_pc+0xb sys/dev/kcov.c:144
syscall(ffff80002e4885a0) at syscall+0x41d mi_syscall sys/sys/syscall_mi.h:100 [inline]
syscall(ffff80002e4885a0) at syscall+0x41d sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7ffffc2a10, count: -6


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

syzbot

unread,
Oct 4, 2022, 9:33:46 PM10/4/22
to syzkaller-o...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 0b11e45035f5 Better path handling description, also docume..
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=14e41df4880000
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16db9c2a880000
panic: kernel diagnostic assertion "uvn->u_obj.uo_refs == 0" failed: file "/syzkaller/managers/setuid/kernel/sys/uvm/uvm_vnode.c", line 235
Stopped at db_enter+0x18: addq $0x8,%rsp
TID PID UID PRFLAGS PFLAGS CPU COMMAND
277422 64346 0 0 0 1 syz-executor.0
*380328 64346 0 0 0x4000000 0K syz-executor.0
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff825a55e6) at panic+0x177 sys/kern/subr_prf.c:198
__assert(ffffffff8261b443,ffffffff8263e6a2,eb,ffffffff82637043) at __assert+0x25 sys/kern/subr_prf.c:157
uvn_attach(fffffd806a6b11c8,6) at uvn_attach+0x454 sys/uvm/uvm_vnode.c:235
uvm_mmapfile(fffffd806f090008,ffff8000213189f8,10000,2,6,11,445f8279a03234d4,fffffd806f090008,0,11) at uvm_mmapfile+0x194 sys/uvm/uvm_mmap.c:1029
sys_mmap(ffff8000ffff4fc0,ffff800021318aa0,ffff800021318b70) at sys_mmap+0xb4a sys/uvm/uvm_mmap.c:395
sys_pad_mmap(ffff8000ffff4fc0,ffff800021318b28,ffff800021318b70) at sys_pad_mmap+0x68 sys/uvm/uvm_mmap.c:470
syscall(ffff800021318bf0) at syscall+0x435 mi_syscall sys/sys/syscall_mi.h:101 [inline]
syscall(ffff800021318bf0) at syscall+0x435 sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x9190dffa090, count: 6
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{0}>
ddb{0}> set $lines = 0
ddb{0}> set $maxwidth = 0
ddb{0}> show panic
*cpu0: kernel diagnostic assertion "uvn->u_obj.uo_refs == 0" failed: file "/syzkaller/managers/setuid/kernel/sys/uvm/uvm_vnode.c", line 235
ddb{0}> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff825a55e6) at panic+0x177 sys/kern/subr_prf.c:198
__assert(ffffffff8261b443,ffffffff8263e6a2,eb,ffffffff82637043) at __assert+0x25 sys/kern/subr_prf.c:157
uvn_attach(fffffd806a6b11c8,6) at uvn_attach+0x454 sys/uvm/uvm_vnode.c:235
uvm_mmapfile(fffffd806f090008,ffff8000213189f8,10000,2,6,11,445f8279a03234d4,fffffd806f090008,0,11) at uvm_mmapfile+0x194 sys/uvm/uvm_mmap.c:1029
sys_mmap(ffff8000ffff4fc0,ffff800021318aa0,ffff800021318b70) at sys_mmap+0xb4a sys/uvm/uvm_mmap.c:395
sys_pad_mmap(ffff8000ffff4fc0,ffff800021318b28,ffff800021318b70) at sys_pad_mmap+0x68 sys/uvm/uvm_mmap.c:470
syscall(ffff800021318bf0) at syscall+0x435 mi_syscall sys/sys/syscall_mi.h:101 [inline]
syscall(ffff800021318bf0) at syscall+0x435 sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x9190dffa090, count: -9
ddb{0}> show registers
rdi 0
rsi 0x1
rbp 0xffff800021318690
rbx 0xffffffff8296db8f cpu_info_full_primary+0x2b8f
rdx 0x3fd
rcx 0
rax 0x8c
r8 0x101010101010101
r9 0x8080808080808080
r10 0x1ca017bc31a6ac42
r11 0x39324836b7e5cadb
r12 0xffffffff8296d990 cpu_info_full_primary+0x2990
r13 0
r14 0
r15 0x1
rip 0xffffffff8228a448 db_enter+0x18
cs 0x8
rflags 0x246
rsp 0xffff800021318680
ss 0x10
db_enter+0x18: addq $0x8,%rsp
ddb{0}> show proc
PROC (syz-executor.0) pid=380328 stat=onproc
flags process=0 proc=4000000<THREAD>
pri=32, usrpri=86, nice=20
forw=0xffffffffffffffff, list=0xffff8000ffff4d20,0xffff8000ffff5cf0
process=0xffff8000ffff8008 user=0xffff800021313000, vmspace=0xfffffd806f090008
estcpu=36, cpticks=2, pctcpu=0.0
user=0, sys=1, intr=0
ddb{0}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
64346 277422 69735 0 7 0 syz-executor.0
*64346 380328 69735 0 7 0x4000000 syz-executor.0
64346 145777 69735 0 2 0x4000000 syz-executor.0
69735 194909 72704 0 2 0x482 syz-executor.0
72704 220828 36184 0 3 0x82 thrsleep syz-execprog
72704 151884 36184 0 2 0x4000482 syz-execprog
72704 508581 36184 0 3 0x4000082 thrsleep syz-execprog
72704 43472 36184 0 3 0x4000082 wait syz-execprog
72704 61391 36184 0 3 0x4000082 kqread syz-execprog
72704 465187 36184 0 3 0x4000082 thrsleep syz-execprog
72704 366317 36184 0 3 0x4000082 thrsleep syz-execprog
72704 1164 36184 0 3 0x4000082 thrsleep syz-execprog
72704 394231 36184 0 3 0x4000082 thrsleep syz-execprog
36184 261147 82921 0 3 0x10008a sigsusp ksh
82921 56518 23031 0 3 0x9a kqread sshd
94567 156858 1 0 3 0x100083 ttyin getty
23031 54032 1 0 3 0x88 kqread sshd
63430 26484 77118 73 3 0x1100090 kqread syslogd
77118 373677 1 0 3 0x100082 netio syslogd
59131 508110 1 0 3 0x100080 kqread resolvd
77273 133465 79829 77 3 0x100092 kqread dhcpleased
27407 143588 79829 77 3 0x100092 kqread dhcpleased
79829 65990 1 0 3 0x80 kqread dhcpleased
39854 76154 0 0 3 0x14200 bored smr
8378 377605 0 0 3 0x14200 pgzero zerothread
82246 269044 0 0 3 0x14200 aiodoned aiodoned
37955 137228 0 0 3 0x14200 syncer update
93501 436937 0 0 3 0x14200 cleaner cleaner
5751 466781 0 0 3 0x14200 reaper reaper
78903 204130 0 0 3 0x14200 pgdaemon pagedaemon
85964 166911 0 0 3 0x14200 bored viomb
1023 263336 0 0 3 0x40014200 acpi0 acpi0
98723 196445 0 0 3 0x40014200 idle1
30470 329270 0 0 3 0x14200 bored softnet
43839 112708 0 0 3 0x14200 bored softnet
21365 305061 0 0 3 0x14200 bored softnet
13510 400119 0 0 3 0x14200 bored softnet
96389 289102 0 0 3 0x14200 bored systqmp
72206 341334 0 0 3 0x14200 bored systq
84552 398927 0 0 3 0x40014200 bored softclock
28369 65273 0 0 3 0x40014200 idle0
1 326184 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{0}> show all locks
Process 64346 (syz-executor.0) thread 0xffff8000ffff4d20 (277422)
exclusive rwlock uobjlk r = 0 (0xfffffd806a22cd38)
#0 witness_lock+0x44d
#1 rw_enter+0x3e1 sys/kern/kern_rwlock.c:310
#2 uvm_fault_lower+0x951 sys/uvm/uvm_fault.c:1324
#3 uvm_fault+0x238
#4 upageflttrap+0x82 sys/arch/amd64/amd64/trap.c:181
#5 usertrap+0x1aa sys/arch/amd64/amd64/trap.c:403
#6 recall_trap+0x8
Process 64346 (syz-executor.0) thread 0xffff8000ffff4fc0 (380328)
exclusive kernel_lock &kernel_lock r = 1 (0xffffffff82ba5240)
#0 witness_lock+0x44d
#1 syscall+0x41d mi_syscall sys/sys/syscall_mi.h:100 [inline]
#1 syscall+0x41d sys/arch/amd64/amd64/trap.c:585
#2 Xsyscall+0x128
ddb{0}> show malloc
Type InUse MemUse HighUse Limit Requests Type Lim
devbuf 10158 6391K 6420K 78643K 11248 0
pcb 13 8K 8K 78643K 13 0
rtable 80 2K 2K 78643K 133 0
ifaddr 33 8K 8K 78643K 33 0
counters 42 33K 33K 78643K 42 0
ioctlops 0 0K 2K 78643K 26 0
mount 1 1K 1K 78643K 1 0
log 0 0K 0K 78643K 4 0
vnodes 1166 73K 73K 78643K 1179 0
UFS quota 1 32K 32K 78643K 1 0
UFS mount 5 36K 36K 78643K 5 0
shm 2 1K 1K 78643K 2 0
VM map 2 1K 1K 78643K 2 0
sem 2 0K 0K 78643K 2 0
dirhash 12 2K 2K 78643K 12 0
ACPI 1697 195K 286K 78643K 12548 0
file desc 4 9K 13K 78643K 263 0
proc 55 78K 91K 78643K 254 0
NFS srvsock 1 0K 0K 78643K 1 0
NFS daemon 1 16K 16K 78643K 1 0
in_multi 22 1K 1K 78643K 22 0
ether_multi 1 0K 0K 78643K 1 0
ISOFS mount 1 32K 32K 78643K 1 0
MSDOSFS mount 1 16K 16K 78643K 1 0
ttys 25 122K 122K 78643K 25 0
exec 0 0K 2K 78643K 440 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 122 27K 27K 78643K 3453 0
UVM aobj 3 2K 2K 78643K 3 0
memdesc 1 4K 4K 78643K 1 0
crypto data 1 1K 1K 78643K 1 0
NDP 4 0K 0K 78643K 6 0
temp 23 4717K 4781K 78643K 3293 0
kqueue 12 18K 18K 78643K 25 0
SYN cache 2 16K 16K 78643K 2 0
ddb{0}> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
plcache 128 22 0 0 1 0 1 1 0 8 0
rtpcb 120 19 0 16 1 0 1 1 0 8 0
rtentry 112 34 0 1 1 0 1 1 0 8 0
unpcb 144 33 0 20 1 0 1 1 0 8 0
syncache 296 5 0 5 2 2 0 1 0 8 0
tcpcb 768 8 0 5 1 0 1 1 0 8 0
arp 120 4 0 0 1 0 1 1 0 8 0
inpcb 368 29 0 23 1 0 1 1 0 8 0
nd6 48 3 0 0 1 0 1 1 0 8 0
art_heap8 4096 1 0 0 1 0 1 1 0 8 0
art_heap4 256 144 0 0 9 0 9 9 0 8 0
art_table 32 145 0 0 2 0 2 2 0 8 0
art_node 16 33 0 3 1 0 1 1 0 8 0
dirhash 1024 17 0 0 3 0 3 3 0 8 0
dino2pl 256 1927 0 531 88 0 88 88 0 8 0
ffsino 272 1927 0 531 94 0 94 94 0 8 0
nchpl 144 2645 0 1025 61 0 61 61 0 8 0
uvmvnodes 80 1936 0 0 40 0 40 40 0 8 0
vnodes 216 1936 0 0 108 0 108 108 0 8 0
namei 1024 6546 0 6546 3 1 2 2 0 8 2
percpumem 16 33 0 0 1 0 1 1 0 8 0
kstatmem 264 8 0 0 1 0 1 1 0 8 0
scxspl 216 8218 0 8218 20 19 1 8 0 8 1
plimitpl 152 17 0 9 1 0 1 1 0 8 0
sigapl 424 564 0 532 5 0 5 5 0 8 1
futexpl 64 1190 0 1190 1 0 1 1 0 8 1
knotepl 120 56 0 0 2 0 2 2 0 8 0
kqueuepl 216 21 0 13 1 0 1 1 0 8 0
pipepl 320 99 0 92 2 1 1 1 0 8 0
fdescpl 496 547 0 532 4 1 3 3 0 8 1
filepl 152 2007 0 1941 4 1 3 4 0 8 0
lockfpl 104 491 0 488 1 0 1 1 0 8 0
lockfspl 48 247 0 244 1 0 1 1 0 8 0
sessionpl 144 18 0 9 1 0 1 1 0 8 0
pgrppl 48 18 0 9 1 0 1 1 0 8 0
ucredpl 104 64 0 54 1 0 1 1 0 8 0
zombiepl 144 532 0 532 2 1 1 1 0 8 1
processpl 1064 564 0 532 3 0 3 3 0 8 0
procpl 672 1070 0 1028 4 0 4 4 0 8 0
sockpl 488 81 0 59 3 0 3 3 0 8 0
mcl8k 8192 3 0 0 1 0 1 1 0 8 0
mcl4k 4096 3 0 0 1 0 1 1 0 8 0
mcl2k 2048 65 0 0 9 0 9 9 0 8 0
mtagpl 96 2 0 0 1 0 1 1 0 8 0
mbufpl 256 134 0 0 8 0 8 8 0 8 0
bufpl 288 4379 0 133 304 0 304 304 0 8 0
anonpl 24 94193 0 89977 49 4 45 45 0 186 19
amapchunkpl 152 51525 0 51054 20 1 19 19 0 158 0
amappl16 200 652 0 581 6 1 5 5 0 8 0
amappl15 192 79 0 71 1 0 1 1 0 8 0
amappl14 184 7 0 6 1 0 1 1 0 8 0
amappl13 176 39 0 37 2 1 1 1 0 8 0
amappl12 168 246 0 244 2 1 1 1 0 8 0
amappl11 160 42 0 29 1 0 1 1 0 8 0
amappl10 152 13 0 13 1 0 1 1 0 8 1
amappl9 144 907 0 905 2 1 1 1 0 8 0
amappl8 136 430 0 408 2 0 2 2 0 8 0
amappl7 128 85 0 74 1 0 1 1 0 8 0
amappl6 120 170 0 152 2 0 2 2 0 8 1
amappl5 112 328 0 320 1 0 1 1 0 8 0
amappl4 104 627 0 606 2 0 2 2 0 8 1
amappl3 96 1525 0 1492 2 0 2 2 0 8 1
amappl2 88 650 0 601 4 1 3 3 0 8 1
amappl1 80 16231 0 15696 23 2 21 21 0 8 8
amappl 88 3117 0 3038 4 1 3 3 0 92 1
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 2 0 0 1 0 1 1 0 8 0
uaddrrnd 24 547 0 532 1 0 1 1 0 8 0
uaddrbest 32 2 0 0 1 0 1 1 0 8 0
uaddr 24 547 0 532 1 0 1 1 0 8 0
vmmpekpl 168 9862 0 9844 2 0 2 2 0 8 1
vmmpepl 168 61237 0 59936 100 3 97 97 0 357 40
vmsppl 368 546 0 532 3 0 3 3 0 8 1
rwobjpl 56 17912 0 15135 42 0 42 42 0 8 2
pdppl 4096 1101 0 1064 71 28 43 53 0 8 6
pvpl 32 280224 0 271969 276 6 270 270 0 265 202
pmappl 248 546 0 532 3 1 2 2 0 8 1
extentpl 40 56 0 38 1 0 1 1 0 8 0
phpool 112 599 0 31 17 0 17 17 0 8 0
ddb{0}> machine ddbcpu 0
Invalid cpu 0
ddb{0}> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff825a55e6) at panic+0x177 sys/kern/subr_prf.c:198
__assert(ffffffff8261b443,ffffffff8263e6a2,eb,ffffffff82637043) at __assert+0x25 sys/kern/subr_prf.c:157
uvn_attach(fffffd806a6b11c8,6) at uvn_attach+0x454 sys/uvm/uvm_vnode.c:235
uvm_mmapfile(fffffd806f090008,ffff8000213189f8,10000,2,6,11,445f8279a03234d4,fffffd806f090008,0,11) at uvm_mmapfile+0x194 sys/uvm/uvm_mmap.c:1029
sys_mmap(ffff8000ffff4fc0,ffff800021318aa0,ffff800021318b70) at sys_mmap+0xb4a sys/uvm/uvm_mmap.c:395
sys_pad_mmap(ffff8000ffff4fc0,ffff800021318b28,ffff800021318b70) at sys_pad_mmap+0x68 sys/uvm/uvm_mmap.c:470
syscall(ffff800021318bf0) at syscall+0x435 mi_syscall sys/sys/syscall_mi.h:101 [inline]
syscall(ffff800021318bf0) at syscall+0x435 sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x9190dffa090, count: -9
ddb{0}> machine ddbcpu 1
Stopped at x86_ipi_db+0x1a: addq $0x8,%rsp
x86_ipi_db(ffff800020dd8ff0) at x86_ipi_db+0x1a sys/arch/amd64/amd64/db_interface.c:393
x86_ipi_handler() at x86_ipi_handler+0xb7 sys/arch/amd64/amd64/ipi.c:106
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
__mp_lock(ffffffff82ba5038) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline]
__mp_lock(ffffffff82ba5038) at __mp_lock+0x122 sys/kern/kern_lock.c:147
syscall(ffff80002130a350) at syscall+0x41d mi_syscall sys/sys/syscall_mi.h:100 [inline]
syscall(ffff80002130a350) at syscall+0x41d sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7ffffbc140, count: 9
ddb{1}> trace
x86_ipi_db(ffff800020dd8ff0) at x86_ipi_db+0x1a sys/arch/amd64/amd64/db_interface.c:393
x86_ipi_handler() at x86_ipi_handler+0xb7 sys/arch/amd64/amd64/ipi.c:106
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
__mp_lock(ffffffff82ba5038) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline]
__mp_lock(ffffffff82ba5038) at __mp_lock+0x122 sys/kern/kern_lock.c:147
syscall(ffff80002130a350) at syscall+0x41d mi_syscall sys/sys/syscall_mi.h:100 [inline]
syscall(ffff80002130a350) at syscall+0x41d sys/arch/amd64/amd64/trap.c:585
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7ffffbc140, count: -6

Reply all
Reply to author
Forward
0 new messages