witness: lock order reversal: 1st 0xfffffd806f26b630 fdlock (&newfdp->fd_fd.fd_lock) 2nd 0xfffffd8055b01810 inode (&ip->i_lock) lock order data w2 -> w1 missing lock order data w1 -> w2 missing Stopped at db_enter+0x18: addq $0x8,%rsp ddb{0}> ddb{0}> set $lines = 0 ddb{0}> set $maxwidth = 0 ddb{0}> show panic the kernel did not panic ddb{0}> trace db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:440 witness_checkorder(fffffd8055b01810,9,0) at witness_checkorder+0x10f3 witness_debugger sys/kern/subr_witness.c:2502 [inline] witness_checkorder(fffffd8055b01810,9,0) at witness_checkorder+0x10f3 sys/kern/subr_witness.c:1105 rw_enter(fffffd8055b01800,81) at rw_enter+0xd1 sys/kern/kern_rwlock.c:250 rrw_enter(fffffd8055b01800,81) at rrw_enter+0x8b sys/kern/kern_rwlock.c:461 VOP_LOCK(fffffd8078c01248,81) at VOP_LOCK+0x87 sys/kern/vfs_vops.c:614 vn_lock(fffffd8078c01248,81) at vn_lock+0x84 sys/kern/vfs_vnops.c:579 uvn_get(fffffd8078c06240,0,ffff8000256b3448,ffff8000256b3418,0,0,6cc284332fb0b882,ffffffff817ef740) at uvn_get+0x256 uvm_vnode_lock sys/uvm/uvm_vnode.c:1499 [inline] uvn_get(fffffd8078c06240,0,ffff8000256b3448,ffff8000256b3418,0,0,6cc284332fb0b882,ffffffff817ef740) at uvn_get+0x256 sys/uvm/uvm_vnode.c:993 uvm_fault_lower(ffff8000256b35b0,ffff8000256b35e8,ffff8000256b3530,0) at uvm_fault_lower+0x302 sys/uvm/uvm_fault.c:1251 uvm_fault(fffffd806eebbe68,20000000,0,2) at uvm_fault+0x240 sys/uvm/uvm_fault.c:638 kpageflttrap(ffff8000256b3740,20000500) at kpageflttrap+0x1fd sys/arch/amd64/amd64/trap.c:264 kerntrap(ffff8000256b3740) at kerntrap+0xef sys/arch/amd64/amd64/trap.c:318 alltraps_kern_meltdown() at alltraps_kern_meltdown+0x7b copyout() at copyout+0x53 syscall(ffff8000256b3980) at syscall+0x5a9 mi_syscall sys/sys/syscall_mi.h:102 [inline] syscall(ffff8000256b3980) at syscall+0x5a9 sys/arch/amd64/amd64/trap.c:587 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xcbf685bb8b0, count: -15 ddb{0}> show registers rdi 0xffff800021292000 rsi 0x730c __ALIGN_SIZE+0x630c rbp 0xffff8000256b30c0 rbx 0x3 rdx 0xffff800021292000 rcx 0x730b __ALIGN_SIZE+0x630b rax 0xffffffff81955687 db_enter+0x17 r8 0xffffffff82366a2c witness_checkorder+0x10cc r9 0x5 r10 0xc7fcfa011138644f r11 0xf752480aa6b66557 r12 0xfffffd8002dc1880 r13 0 r14 0 r15 0 rip 0xffffffff81955688 db_enter+0x18 cs 0x8 rflags 0x246 rsp 0xffff8000256b30b0 ss 0x10 db_enter+0x18: addq $0x8,%rsp ddb{0}> show proc PROC (syz-executor.0) pid=284920 stat=onproc flags process=10 proc=4000000 pri=32, usrpri=78, nice=20 forw=0xffffffffffffffff, list=0xffff80002126ed28,0xffff80002126f518 process=0xffff8000ffff9928 user=0xffff8000256ae000, vmspace=0xfffffd806eebbe68 estcpu=36, cpticks=0, pctcpu=0.0 user=0, sys=0, intr=0 ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 1924 272125 44794 32767 7 0x10 syz-executor.1 38489 424878 1322 32767 2 0x10 syz-executor.0 *38489 284920 1322 32767 7 0x4000010 syz-executor.0 44794 450113 18124 32767 3 0x90 nanoslp syz-executor.1 1322 330705 18589 32767 3 0x90 nanoslp syz-executor.0 18124 301829 9204 0 3 0x82 wait syz-executor.1 18589 464104 9204 0 3 0x82 wait syz-executor.0 9204 490691 46321 0 3 0x82 thrsleep syz-fuzzer 9204 200560 46321 0 3 0x4000082 nanoslp syz-fuzzer 9204 269512 46321 0 3 0x4000082 nanoslp syz-fuzzer 9204 67356 46321 0 3 0x4000082 thrsleep syz-fuzzer 9204 245273 46321 0 3 0x4000082 thrsleep syz-fuzzer 9204 418643 46321 0 3 0x4000082 thrsleep syz-fuzzer 9204 507046 46321 0 3 0x4000082 kqread syz-fuzzer 9204 435380 46321 0 3 0x4000082 thrsleep syz-fuzzer 46321 276285 59447 0 3 0x10008a sigsusp ksh 59447 255170 2764 0 3 0x9a select sshd 29530 436236 1 0 3 0x100083 ttyin getty 2764 318211 1 0 3 0x88 select sshd 63497 355956 42441 73 3 0x100090 kqread syslogd 42441 153247 1 0 3 0x100082 netio syslogd 12142 43224 1 0 3 0x100080 kqread resolvd 36084 437946 11085 77 3 0x100092 kqread dhcpleased 85251 47896 11085 77 3 0x100092 kqread dhcpleased 11085 154997 1 0 3 0x80 kqread dhcpleased 51588 388662 0 0 3 0x14200 bored smr 13501 56548 0 0 2 0x14200 zerothread 69913 252542 0 0 3 0x14200 aiodoned aiodoned 22818 65423 0 0 3 0x14200 syncer update 83955 155514 0 0 3 0x14200 cleaner cleaner 60939 133563 0 0 3 0x14200 reaper reaper 75112 217969 0 0 3 0x14200 pgdaemon pagedaemon 29805 59856 0 0 3 0x14200 bored crynlk 80399 39442 0 0 3 0x14200 bored crypto 88914 454031 0 0 3 0x14200 bored viomb 45682 125518 0 0 3 0x40014200 acpi0 acpi0 88075 183763 0 0 3 0x40014200 idle1 13508 350623 0 0 3 0x14200 bored softnet 76098 200447 0 0 3 0x14200 bored systqmp 31265 519151 0 0 3 0x14200 bored systq 29484 263441 0 0 3 0x40014200 bored softclock 34248 91457 0 0 3 0x40014200 idle0 1 444177 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{0}> show all locks Process 38489 (syz-executor.0) thread 0xffff80002126f7a8 (284920) exclusive kernel_lock &kernel_lock r = 0 (0xffffffff828cabc8) #0 witness_lock+0x4b0 stacktrace_save sys/sys/stacktrace.h:36 [inline] #0 witness_lock+0x4b0 sys/kern/subr_witness.c:1182 #1 uvm_fault+0x224 sys/uvm/uvm_fault.c:637 #2 kpageflttrap+0x1fd sys/arch/amd64/amd64/trap.c:264 #3 kerntrap+0xef sys/arch/amd64/amd64/trap.c:318 #4 alltraps_kern_meltdown+0x7b #5 copyout+0x53 #6 syscall+0x5a9 mi_syscall sys/sys/syscall_mi.h:102 [inline] #6 syscall+0x5a9 sys/arch/amd64/amd64/trap.c:587 #7 Xsyscall+0x128 exclusive rwlock fdlock r = 0 (0xfffffd806f26b630) #0 witness_lock+0x4b0 stacktrace_save sys/sys/stacktrace.h:36 [inline] #0 witness_lock+0x4b0 sys/kern/subr_witness.c:1182 #1 dopipe+0xd6 #2 syscall+0x5a9 mi_syscall sys/sys/syscall_mi.h:102 [inline] #2 syscall+0x5a9 sys/arch/amd64/amd64/trap.c:587 #3 Xsyscall+0x128 ddb{0}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10115 6407K 6433K 78643K 11205 0 pcb 13 8K 8K 78643K 13 0 rtable 108 3K 3K 78643K 172 0 ifaddr 39 10K 10K 78643K 39 0 counters 44 34K 34K 78643K 44 0 ioctlops 0 0K 2K 78643K 3894 0 iov 0 0K 12K 78643K 125 0 mount 1 1K 1K 78643K 1 0 log 0 0K 0K 78643K 6 0 vnodes 1216 76K 76K 78643K 1229 0 UFS quota 1 32K 32K 78643K 1 0 UFS mount 5 36K 36K 78643K 5 0 shm 2 1K 9K 78643K 1284 0 VM map 2 1K 1K 78643K 2 0 sem 12 1K 1K 78643K 30 0 dirhash 12 2K 2K 78643K 12 0 ACPI 1697 195K 286K 78643K 12598 0 file desc 8 25K 33K 78643K 105643 0 sigio 0 0K 0K 78643K 5 0 proc 56 74K 99K 78643K 312 0 subproc 34 2K 2K 78643K 34 0 NFS srvsock 1 0K 0K 78643K 1 0 NFS daemon 1 16K 16K 78643K 1 0 ip_moptions 0 0K 0K 78643K 15 0 in_multi 33 2K 2K 78643K 34 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 43 201K 201K 78643K 43 0 exec 0 0K 2K 78643K 406 0 pagedep 1 8K 8K 78643K 1 0 inodedep 1 32K 32K 78643K 1 0 newblk 1 0K 0K 78643K 1 0 VM swap 7 26K 26K 78643K 7 0 UVM amap 712 83K 84K 78643K 1252033 0 UVM aobj 131 4K 4K 78643K 161 0 memdesc 1 4K 4K 78643K 1 0 crypto data 1 1K 1K 78643K 1 0 ip6_options 0 0K 0K 78643K 4 0 NDP 5 0K 0K 78643K 9 0 temp 102 4213K 4277K 78643K 213508 0 kqueue 10 14K 19K 78643K 1130 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 33 0 30 1 0 1 1 0 8 0 rtentry 112 46 0 1 2 0 2 2 0 8 0 unpcb 120 1724 0 1711 1 0 1 1 0 8 0 syncache 296 4 0 4 1 1 0 1 0 8 0 sackhl 24 2 0 2 1 1 0 1 0 8 0 tcpqe 32 34 0 34 2 2 0 1 0 8 0 tcpcb 736 192 0 188 5 4 1 3 0 8 0 arp 120 6 0 0 1 0 1 1 0 8 0 ipq 40 2 0 2 2 2 0 1 0 8 0 ipqe 40 5 0 5 2 2 0 1 0 8 0 inpcb 304 449 0 442 1 0 1 1 0 8 0 nd6 48 7 0 0 1 0 1 1 0 8 0 kcovpl 48 2 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 191 0 0 12 0 12 12 0 8 0 art_table 32 192 0 0 2 0 2 2 0 8 0 art_node 16 45 0 4 1 0 1 1 0 8 0 sysvmsgpl 40 29 0 2 1 0 1 1 0 8 0 semupl 112 6 0 6 1 1 0 1 0 8 0 semapl 112 19 0 9 1 0 1 1 0 8 0 shmpl 112 158 0 30 4 0 4 4 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 118937 0 117533 88 0 88 88 0 8 0 ffsino 272 118937 0 117533 95 1 94 94 0 8 0 nchpl 144 248767 0 247153 60 0 60 60 0 8 0 uvmvnodes 72 5926 0 0 108 0 108 108 0 8 0 vnodes 224 5926 0 0 349 0 349 349 0 8 0 namei 1024 625465 0 625465 2 1 1 1 0 8 1 percpumem 16 34 0 0 1 0 1 1 0 8 0 scxspl 216 680534 0 680534 14 13 1 8 0 8 1 plimitpl 152 20 0 10 1 0 1 1 0 8 0 sigapl 424 105865 0 105830 5 1 4 5 0 8 0 futexpl 56 643810 0 643810 1 0 1 1 0 8 1 knotepl 112 73 0 0 2 0 2 2 0 8 0 kqueuepl 216 141700 0 141688 19 18 1 2 0 8 0 pipepl 336 1818 0 1807 47 46 1 2 0 8 0 fdescpl 496 105849 0 105830 3 0 3 3 0 8 0 filepl 152 395200 0 395087 6 1 5 6 0 8 0 lockfpl 104 2056 0 2054 1 0 1 1 0 8 0 lockfspl 48 865 0 863 1 0 1 1 0 8 0 sessionpl 144 17 0 7 1 0 1 1 0 8 0 pgrppl 48 27 0 17 1 0 1 1 0 8 0 ucredpl 96 96193 0 96181 1 0 1 1 0 8 0 zombiepl 144 105830 0 105830 2 1 1 1 0 8 1 processpl 1072 105865 0 105830 3 0 3 3 0 8 0 procpl 672 218531 0 218488 21 17 4 5 0 8 0 sockpl 480 2336 0 2313 41 38 3 4 0 8 0 mcl64k 65536 18 0 0 3 0 3 3 0 8 0 mcl16k 16384 30 0 0 4 1 3 3 0 8 0 mcl12k 12288 25 0 0 2 0 2 2 0 8 0 mcl9k 9216 30 0 0 2 0 2 2 0 8 0 mcl8k 8192 17 0 0 3 0 3 3 0 8 0 mcl4k 4096 33 0 0 4 0 4 4 0 8 0 mcl2k2 2112 12 0 0 1 0 1 1 0 8 0 mcl2k 2048 664 0 0 15 2 13 15 0 8 0 mtagpl 96 3 0 0 1 0 1 1 0 8 0 mbufpl 256 1760 0 0 33 9 24 27 0 8 0 bufpl 280 111080 0 104748 453 0 453 453 0 8 0 anonpl 24 26204903 0 26105518 724 6 718 721 0 186 0 amapchunkpl 152 2931040 0 2927194 170 10 160 169 0 158 0 amappl16 200 153519 0 150243 174 1 173 174 0 8 0 amappl15 192 7 0 6 1 0 1 1 0 8 0 amappl14 184 5 0 1 1 0 1 1 0 8 0 amappl13 176 88 0 87 1 0 1 1 0 8 0 amappl12 168 52869 0 52864 1 0 1 1 0 8 0 amappl11 160 41 0 30 1 0 1 1 0 8 0 amappl10 152 52797 0 52788 1 0 1 1 0 8 0 amappl9 144 342 0 336 1 0 1 1 0 8 0 amappl8 136 425 0 342 4 1 3 3 0 8 0 amappl7 128 70 0 55 1 0 1 1 0 8 0 amappl6 120 108 0 97 1 0 1 1 0 8 0 amappl5 112 160299 0 160276 1 0 1 1 0 8 0 amappl4 104 624 0 601 1 0 1 1 0 8 0 amappl3 96 55135 0 55129 1 0 1 1 0 8 0 amappl2 88 7747 0 7694 2 0 2 2 0 8 0 amappl1 80 1737202 0 1736764 13 3 10 12 0 8 0 amappl 88 1237848 0 1237232 15 0 15 15 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 64 160 0 30 3 0 3 3 0 8 0 uaddrrnd 24 105849 0 105830 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 105849 0 105830 1 0 1 1 0 8 0 vmmpekpl 168 371319 0 371298 2 0 2 2 0 8 0 vmmpepl 168 11977328 0 11972050 403 171 232 356 0 357 0 vmsppl 368 105848 0 105830 2 0 2 2 0 8 0 rwobjpl 56 1931216 0 1926716 77 13 64 64 0 8 0 pdppl 4096 211706 0 211660 76 30 46 50 0 8 0 pvpl 32 53220887 0 53117806 1010 20 990 998 0 265 0 pmappl 224 105848 0 105830 2 0 2 2 0 8 0 extentpl 40 58 0 40 1 0 1 1 0 8 0 phpool 112 396 0 96 9 0 9 9 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:440 witness_checkorder(fffffd8055b01810,9,0) at witness_checkorder+0x10f3 witness_debugger sys/kern/subr_witness.c:2502 [inline] witness_checkorder(fffffd8055b01810,9,0) at witness_checkorder+0x10f3 sys/kern/subr_witness.c:1105 rw_enter(fffffd8055b01800,81) at rw_enter+0xd1 sys/kern/kern_rwlock.c:250 rrw_enter(fffffd8055b01800,81) at rrw_enter+0x8b sys/kern/kern_rwlock.c:461 VOP_LOCK(fffffd8078c01248,81) at VOP_LOCK+0x87 sys/kern/vfs_vops.c:614 vn_lock(fffffd8078c01248,81) at vn_lock+0x84 sys/kern/vfs_vnops.c:579 uvn_get(fffffd8078c06240,0,ffff8000256b3448,ffff8000256b3418,0,0,6cc284332fb0b882,ffffffff817ef740) at uvn_get+0x256 uvm_vnode_lock sys/uvm/uvm_vnode.c:1499 [inline] uvn_get(fffffd8078c06240,0,ffff8000256b3448,ffff8000256b3418,0,0,6cc284332fb0b882,ffffffff817ef740) at uvn_get+0x256 sys/uvm/uvm_vnode.c:993 uvm_fault_lower(ffff8000256b35b0,ffff8000256b35e8,ffff8000256b3530,0) at uvm_fault_lower+0x302 sys/uvm/uvm_fault.c:1251 uvm_fault(fffffd806eebbe68,20000000,0,2) at uvm_fault+0x240 sys/uvm/uvm_fault.c:638 kpageflttrap(ffff8000256b3740,20000500) at kpageflttrap+0x1fd sys/arch/amd64/amd64/trap.c:264 kerntrap(ffff8000256b3740) at kerntrap+0xef sys/arch/amd64/amd64/trap.c:318 alltraps_kern_meltdown() at alltraps_kern_meltdown+0x7b copyout() at copyout+0x53 syscall(ffff8000256b3980) at syscall+0x5a9 mi_syscall sys/sys/syscall_mi.h:102 [inline] syscall(ffff8000256b3980) at syscall+0x5a9 sys/arch/amd64/amd64/trap.c:587 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xcbf685bb8b0, count: -15 ddb{0}> machine ddbcpu 1 Stopped at x86_ipi_db+0x1a: addq $0x8,%rsp ddb{1}> trace x86_ipi_db(ffff800020d38ff0) 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(ffffffff828ca9c0) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff828ca9c0) at __mp_lock+0x122 sys/kern/kern_lock.c:147 syscall(ffff8000256b9020) at syscall+0x42d mi_syscall sys/sys/syscall_mi.h:93 [inline] syscall(ffff8000256b9020) at syscall+0x42d sys/arch/amd64/amd64/trap.c:587 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7f7ffffc2c30, count: -6