witness: lock order reversal: 1st 0xfffffd800b0636b8 vmmaplk (&map->lock) 2nd 0xfffffd80688bdd90 inode (&ip->i_lock) lock order [1] vmmaplk (&map->lock) -> [2] inode (&ip->i_lock) #0 rw_do_enter_write+0xba sys/kern/kern_rwlock.c:234 #1 rrw_enter+0xc6 sys/kern/kern_rwlock.c:621 #2 VOP_LOCK+0xa3 sys/kern/vfs_vops.c:527 #3 vn_lock+0xa4 sys/kern/vfs_vnops.c:570 #4 vn_rdwr+0xd1 sys/kern/vfs_vnops.c:320 #5 vndstrategy+0x4bd sys/dev/vnd.c:342 #6 physio+0x2d6 sys/kern/kern_physio.c:162 #7 spec_read+0x14b sys/kern/spec_vnops.c:215 #8 VOP_READ+0x101 sys/kern/vfs_vops.c:227 #9 vn_read+0x17b sys/kern/vfs_vnops.c:369 #10 dofilereadv+0x25a sys/kern/sys_generic.c:252 #11 sys_readv+0xd8 sys/kern/sys_generic.c:199 #12 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #12 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:765 #13 Xsyscall+0x128 lock order [2] inode (&ip->i_lock) -> [1] vmmaplk (&map->lock) #0 rw_do_enter_read+0x99 sys/kern/kern_rwlock.c:355 #1 uvmfault_lookup+0x122 sys/uvm/uvm_fault.c:1902 #2 uvm_fault_check+0x4f sys/uvm/uvm_fault.c:699 #3 uvm_fault+0x106 sys/uvm/uvm_fault.c:633 #4 kpageflttrap+0x2f4 sys/arch/amd64/amd64/trap.c:283 #5 kerntrap+0x19c sys/arch/amd64/amd64/trap.c:510 #6 alltraps_kern_meltdown+0x7b #7 copyout+0x64 #8 ffs_read+0x3f2 sys/ufs/ffs/ffs_vnops.c:254 #9 VOP_READ+0x101 sys/kern/vfs_vops.c:227 #10 vn_rdwr+0x15b sys/kern/vfs_vnops.c:-1 #11 vmcmd_map_readvn+0x130 sys/kern/exec_subr.c:249 #12 exec_process_vmcmds+0xef sys/kern/exec_subr.c:139 #13 sys_execve+0xd3d sys/kern/kern_exec.c:471 #14 start_init+0x3c3 sys/kern/init_main.c:720 #15 proc_trampoline+0x10 Stopped at db_enter+0x25: 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+0x25 sys/arch/amd64/amd64/db_interface.c:438 witness_checkorder(fffffd80688bdd90,9,0) at witness_checkorder+0x10b9 sys/kern/subr_witness.c:-1 rw_do_enter_write(fffffd80688bdd78,1) at rw_do_enter_write+0xba sys/kern/kern_rwlock.c:234 rrw_enter(fffffd80688bdd78,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:621 VOP_LOCK(fffffd807b65d488,2001) at VOP_LOCK+0xa3 sys/kern/vfs_vops.c:527 vn_lock(fffffd807b65d488,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vn_rdwr(0,fffffd807b65d488,ffff800011a26740,1d,0,1,7fd7df7eafe2d56e,0,1d,0) at vn_rdwr+0xd1 sys/kern/vfs_vnops.c:320 vndstrategy(fffffd8069910d48) at vndstrategy+0x4bd sys/dev/vnd.c:342 physio(ffffffff81951ee0,2902,8000,ffffffff815ea730,ffff80002a3035d0) at physio+0x2d6 sys/kern/kern_physio.c:162 spec_read(ffff80002a3033b0) at spec_read+0x14b sys/kern/spec_vnops.c:215 VOP_READ(fffffd806e8ee6c0,ffff80002a3035d0,0,fffffd80097fd618) at VOP_READ+0x101 sys/kern/vfs_vops.c:227 vn_read(fffffd8068dc9b60,ffff80002a3035d0,0) at vn_read+0x17b sys/kern/vfs_vnops.c:369 dofilereadv(ffff80002a2bd780,5,ffff80002a3035d0,0,ffff80002a303690) at dofilereadv+0x25a sys/kern/sys_generic.c:252 sys_readv(ffff80002a2bd780,ffff80002a303740,ffff80002a303690) at sys_readv+0xd8 sys/kern/sys_generic.c:199 syscall(ffff80002a303740) at syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80002a303740) at syscall+0xbd4 sys/arch/amd64/amd64/trap.c:765 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x779f68b7220, count: -16 ddb{0}> show registers rdi 0 rsi 0 rbp 0xffff80002a302eb0 rbx 0 rdx 0x3fd rcx 0xffffffff837aff00 cpu_info_full_primary+0x1f00 rax 0x1 r8 0xffff80002a302d90 r9 0x8080808080808080 r10 0x7daf894c897fea7 r11 0x5e511922e92e715a r12 0xfffffd8003f402c0 r13 0xfffffd800472fce0 r14 0x3 r15 0xffffffff83415f8f substchar+0x4a24 rip 0xffffffff813f67d5 db_enter+0x25 cs 0x8 rflags 0x246 rsp 0xffff80002a302ea0 ss 0x10 db_enter+0x25: addq $0x8,%rsp ddb{0}> show proc PROC (syz-executor.0) tid=356004 pid=77732 tcnt=2 stat=onproc flags process=0 proc=4000000 runpri=17, usrpri=86, slppri=32, nice=20 wchan=0x0, wmesg=, ps_single=0x0 scnt=0 ecnt=0 forw=0xffffffffffffffff, list=0xffff80002a2bc2c0,0xffffffff8393a400 process=0xffff8000ffff4008 user=0xffff80002a2fe000, vmspace=0xfffffd800b0635b8 estcpu=36, cpticks=1, pctcpu=0.0, user=0, sys=1, intr=0 ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 77732 203710 66653 0 3 0x80 nanoslp syz-executor.0 *77732 356004 66653 0 7 0x4000000 syz-executor.0 66653 46103 21477 0 3 0x82 nanoslp syz-executor.0 21477 345080 91184 0 3 0x82 thrsleep syz-execprog 21477 209024 91184 0 3 0x4000082 nanoslp syz-execprog 21477 521190 91184 0 3 0x4000082 thrsleep syz-execprog 21477 58635 91184 0 3 0x4000082 thrsleep syz-execprog 21477 20732 91184 0 3 0x4000082 thrsleep syz-execprog 21477 399255 91184 0 3 0x4000082 thrsleep syz-execprog 21477 20494 91184 0 3 0x4000082 thrsleep syz-execprog 21477 227130 91184 0 3 0x4000082 wait syz-execprog 21477 127258 91184 0 3 0x4000082 kqread syz-execprog 21477 498703 91184 0 3 0x4000082 thrsleep syz-execprog 21477 380889 91184 0 3 0x4000082 thrsleep syz-execprog 91184 16075 46492 0 3 0x10008a sigsusp ksh 46492 492613 98210 0 3 0x98 kqread sshd-session 98210 470998 66819 0 3 0x92 kqread sshd-session 72914 114755 1 0 3 0x100083 ttyin getty 66819 368379 1 0 3 0x88 kqread sshd 15440 219454 32732 74 3 0x1100092 bpf pflogd 32732 486078 1 0 3 0x80 sbwait pflogd 1599 57694 1403 73 3 0x1100090 kqread syslogd 1403 513898 1 0 3 0x100082 sbwait syslogd 48852 11621 1 0 3 0x100080 kqread resolvd 14979 374109 72503 77 3 0x100092 kqread dhcpleased 54702 335472 72503 77 3 0x100092 kqread dhcpleased 72503 325493 1 0 3 0x80 kqread dhcpleased 5937 488285 0 0 3 0x14200 bored smr 97564 203412 0 0 3 0x14200 pgzero zerothread 7061 472092 0 0 3 0x14200 aiodoned aiodoned 1905 237459 0 0 3 0x14200 syncer update 36522 499306 0 0 3 0x14200 cleaner cleaner 11025 452412 0 0 3 0x14200 reaper reaper 4526 129237 0 0 3 0x14200 pgdaemon pagedaemon 1211 91191 0 0 3 0x14200 bored viomb 62074 317753 0 0 3 0x40014200 acpi0 acpi0 36424 46915 0 0 7 0x40014200 idle1 66773 197140 0 0 3 0x14200 bored softnet1 94577 231718 0 0 3 0x14200 bored softnet0 31976 230022 0 0 3 0x14200 smrbar systqmp 76795 275616 0 0 3 0x14200 bored systq 59971 298387 0 0 3 0x14200 tmoslp softclockmp 6970 445749 0 0 3 0x40014200 tmoslp softclock 25458 197216 0 0 3 0x40014200 idle0 1 427125 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{0}> show all locks Process 77732 (syz-executor.0) thread 0xffff80002a2bd780 (356004) shared rwlock vmmaplk r = 0 (0xfffffd800b0636b8) #0 witness_lock+0x5f1 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5f1 sys/kern/subr_witness.c:1160 #1 rw_do_enter_read+0x3e8 sys/kern/kern_rwlock.c:413 #2 uvm_vslock_device+0x149 sys/uvm/uvm_glue.c:173 #3 physio+0x257 sys/kern/kern_physio.c:139 #4 spec_read+0x14b sys/kern/spec_vnops.c:215 #5 VOP_READ+0x101 sys/kern/vfs_vops.c:227 #6 vn_read+0x17b sys/kern/vfs_vnops.c:369 #7 dofilereadv+0x25a sys/kern/sys_generic.c:252 #8 sys_readv+0xd8 sys/kern/sys_generic.c:199 #9 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #9 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:765 #10 Xsyscall+0x128 exclusive kernel_lock &kernel_lock r = 0 (0xffffffff83a0a0c0) #0 witness_lock+0x5f1 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5f1 sys/kern/subr_witness.c:1160 #1 vn_read+0x56 sys/kern/vfs_vnops.c:351 #2 dofilereadv+0x25a sys/kern/sys_generic.c:252 #3 sys_readv+0xd8 sys/kern/sys_generic.c:199 #4 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #4 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:765 #5 Xsyscall+0x128 Process 31976 (systqmp) thread 0xffff8000ffffea60 (230022) shared rwlock systqmp r = 0 (0xffffffff8380a578) #0 witness_lock+0x5f1 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5f1 sys/kern/subr_witness.c:1160 #1 taskq_thread+0x12a sys/kern/kern_task.c:442 #2 proc_trampoline+0x10 ddb{0}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10168 11009K 11011K 166960K 11264 0 pcb 17 12K 12K 166960K 17 0 rtable 83 2K 2K 166960K 179 0 pf 20 15K 18K 166960K 34 0 ifaddr 15 2K 2K 166960K 19 0 ifgroup 27 1K 1K 166960K 32 0 sysctl 1 1K 9K 166960K 5 0 counters 54 35K 35K 166960K 56 0 ioctlops 0 0K 4K 166960K 1477 0 mount 1 1K 1K 166960K 1 0 log 0 0K 0K 166960K 4 0 vnodes 1265 80K 80K 166960K 1289 0 UFS quota 1 32K 32K 166960K 1 0 UFS mount 5 36K 36K 166960K 5 0 shm 2 1K 1K 166960K 2 0 VM map 2 1K 1K 166960K 2 0 sem 2 0K 0K 166960K 2 0 dirhash 12 2K 2K 166960K 12 0 ACPI 1692 195K 286K 166960K 12470 0 file desc 3 8K 12K 166960K 36 0 proc 69 115K 131K 166960K 359 0 NFS srvsock 1 0K 0K 166960K 1 0 NFS daemon 1 16K 16K 166960K 1 0 in_multi 22 1K 1K 166960K 33 0 ether_multi 1 0K 0K 166960K 1 0 ISOFS mount 1 32K 32K 166960K 1 0 MSDOSFS mount 1 16K 16K 166960K 1 0 ttys 25 122K 122K 166960K 25 0 exec 0 0K 1K 166960K 366 0 fusefs mount 1 32K 32K 166960K 1 0 tdb 3 0K 0K 166960K 3 0 VM swap 8 62K 64K 166960K 10 0 UVM amap 189 103K 216K 166960K 4245 0 UVM aobj 3 2K 2K 166960K 3 0 pinsyscall 30 60K 112K 166960K 1345 0 memdesc 1 4K 4K 166960K 1 0 crypto data 1 1K 1K 166960K 1 0 NDP 7 0K 0K 166960K 10 0 temp 1 8664K 8728K 166960K 4692 0 kqueue 13 20K 20K 166960K 46 0 SYN cache 2 16K 16K 166960K 2 0 ddb{0}> show all pools Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle plcache 128 26 0 0 1 0 1 1 0 8 0 rtpcb 120 25 0 22 1 0 1 1 0 8 0 rtentry 176 45 0 12 3 1 2 2 0 8 0 unpcb 144 69 0 52 1 0 1 1 0 8 0 syncache 336 9 0 9 2 1 1 1 0 8 1 tcpcb 736 12 0 9 1 0 1 1 0 8 0 arp 136 6 0 2 1 0 1 1 0 8 0 inpcb 328 45 0 39 1 0 1 1 0 8 0 nd6 152 6 0 3 2 1 1 1 0 8 0 pfosfp 40 1428 0 1005 5 0 5 5 0 8 0 pfosfpen 112 1428 0 714 21 0 21 21 0 8 0 pfstitem 24 17 0 4 1 0 1 1 0 8 0 pfstkey 128 17 0 4 1 0 1 1 0 8 0 pfstate 448 17 0 4 2 0 2 2 0 8 0 pfrule 1344 21 0 16 2 1 1 2 0 8 0 art_heap8 4096 1 0 0 1 0 1 1 0 8 0 art_heap4 256 193 0 48 13 3 10 10 0 8 0 art_table 40 194 0 48 3 1 2 2 0 8 0 art_node 32 45 0 14 1 0 1 1 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 1584 0 83 95 1 94 95 0 8 0 ffsino 296 1584 0 83 116 0 116 116 0 8 0 nchpl 144 1847 0 109 65 0 65 65 0 8 0 vnodes 216 1599 0 0 89 0 89 89 0 8 0 namei 1024 6684 0 6684 3 2 1 2 0 8 1 percpumem 16 43 0 1 1 0 1 1 0 8 0 kstatmem 264 14 0 2 1 0 1 1 0 8 0 scxspl 216 9488 0 9488 10 6 4 8 1 8 4 plimitpl 152 52 0 42 1 0 1 1 0 8 0 sigapl 424 440 0 406 8 2 6 6 0 8 2 knotepl 120 65 0 0 3 1 2 2 0 8 0 kqueuepl 224 42 0 33 1 0 1 1 0 8 0 pipepl 344 168 0 161 4 2 2 2 0 8 1 fdescpl 528 424 0 406 4 1 3 3 0 8 1 filepl 160 2045 0 1968 5 1 4 4 0 8 0 lockfpl 104 6 0 4 1 0 1 1 0 8 0 lockfspl 48 4 0 2 1 0 1 1 0 8 0 sessionpl 144 28 0 18 1 0 1 1 0 8 0 pgrppl 48 28 0 18 1 0 1 1 0 8 0 ucredpl 104 153 0 139 1 0 1 1 0 8 0 zombiepl 144 406 0 406 2 1 1 1 0 8 1 processpl 1232 440 0 406 5 1 4 4 0 8 1 procpl 664 463 0 418 7 2 5 5 0 8 1 sockpl 752 139 0 113 3 0 3 3 0 8 0 mcl8k 8192 3 0 0 1 0 1 1 0 8 0 mcl4k 4096 192 0 0 22 0 22 22 0 8 0 mcl2k 2048 17 0 0 3 0 3 3 0 8 0 mtagpl 96 2 0 0 1 0 1 1 0 8 0 mbufpl 256 191 0 0 11 0 11 11 0 8 0 bufpl 280 4836 0 216 330 0 330 330 0 8 0 anonpl 32 9773 0 0 79 0 79 79 0 246 0 amapchunkpl 152 13128 0 12741 39 12 27 29 0 158 9 amappl16 200 4336 0 4269 8 4 4 5 0 8 0 amappl15 192 17 0 17 2 2 0 1 0 8 0 amappl14 184 15 0 14 2 1 1 1 0 8 0 amappl13 176 437 0 435 2 1 1 1 0 8 0 amappl12 168 891 0 861 5 2 3 3 0 8 1 amappl11 160 15 0 15 2 2 0 1 0 8 0 amappl10 152 106 0 90 3 1 2 2 0 8 1 amappl9 144 1132 0 1132 2 1 1 1 0 8 1 amappl8 136 171 0 146 1 0 1 1 0 8 0 amappl7 128 147 0 137 2 1 1 2 0 8 0 amappl6 120 383 0 366 3 1 2 2 0 8 1 amappl5 112 175 0 164 1 0 1 1 0 8 0 amappl4 104 684 0 649 3 1 2 2 0 8 0 amappl3 96 1401 0 1351 4 2 2 2 0 8 0 amappl2 88 991 0 928 7 3 4 5 0 8 2 amappl1 80 16960 0 16406 36 12 24 24 0 8 12 amappl 88 3121 0 3018 7 3 4 5 0 92 0 uvmvnodes 80 90 0 0 2 0 2 2 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 2 0 0 1 0 1 1 0 8 0 uaddrrnd 24 424 0 406 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 424 0 406 1 0 1 1 0 8 0 vmmpekpl 168 11960 0 11936 2 0 2 2 0 8 0 vmmpepl 168 61032 0 59551 137 14 123 127 0 357 54 vmsppl 488 423 0 406 5 1 4 4 0 8 1 rwobjpl 80 24911 0 23947 57 19 38 40 0 8 11 pdppl 4096 856 0 812 116 48 68 68 0 8 24 pvpl 32 53154 0 0 429 0 429 429 0 265 0 pmappl 256 423 0 406 2 0 2 2 0 8 0 extentpl 40 45 0 27 1 0 1 1 0 8 0 phpool 112 278 0 57 7 0 7 7 0 8 0 ddb{0}> machine ddbcpu 0 Invalid cpu 0 ddb{0}> trace db_enter() at db_enter+0x25 sys/arch/amd64/amd64/db_interface.c:438 witness_checkorder(fffffd80688bdd90,9,0) at witness_checkorder+0x10b9 sys/kern/subr_witness.c:-1 rw_do_enter_write(fffffd80688bdd78,1) at rw_do_enter_write+0xba sys/kern/kern_rwlock.c:234 rrw_enter(fffffd80688bdd78,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:621 VOP_LOCK(fffffd807b65d488,2001) at VOP_LOCK+0xa3 sys/kern/vfs_vops.c:527 vn_lock(fffffd807b65d488,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vn_rdwr(0,fffffd807b65d488,ffff800011a26740,1d,0,1,7fd7df7eafe2d56e,0,1d,0) at vn_rdwr+0xd1 sys/kern/vfs_vnops.c:320 vndstrategy(fffffd8069910d48) at vndstrategy+0x4bd sys/dev/vnd.c:342 physio(ffffffff81951ee0,2902,8000,ffffffff815ea730,ffff80002a3035d0) at physio+0x2d6 sys/kern/kern_physio.c:162 spec_read(ffff80002a3033b0) at spec_read+0x14b sys/kern/spec_vnops.c:215 VOP_READ(fffffd806e8ee6c0,ffff80002a3035d0,0,fffffd80097fd618) at VOP_READ+0x101 sys/kern/vfs_vops.c:227 vn_read(fffffd8068dc9b60,ffff80002a3035d0,0) at vn_read+0x17b sys/kern/vfs_vnops.c:369 dofilereadv(ffff80002a2bd780,5,ffff80002a3035d0,0,ffff80002a303690) at dofilereadv+0x25a sys/kern/sys_generic.c:252 sys_readv(ffff80002a2bd780,ffff80002a303740,ffff80002a303690) at sys_readv+0xd8 sys/kern/sys_generic.c:199 syscall(ffff80002a303740) at syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80002a303740) at syscall+0xbd4 sys/arch/amd64/amd64/trap.c:765 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x779f68b7220, count: -16 ddb{0}> machine ddbcpu 1 Stopped at x86_ipi_db+0x27: addq $0x8,%rsp ddb{1}> trace x86_ipi_db(ffff8000299edff0) at x86_ipi_db+0x27 sys/arch/amd64/amd64/db_interface.c:394 x86_ipi_handler() at x86_ipi_handler+0xd9 sys/arch/amd64/amd64/ipi.c:106 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27 acpicpu_idle() at acpicpu_idle+0x457 sys/dev/acpi/acpicpu_x86.c:1224 sched_idle(ffff8000299edff0) at sched_idle+0x391 sys/kern/kern_sched.c:191 end trace frame: 0x0, count: -5