witness: lock order reversal: 1st 0xfffffd806eee4888 vmmaplk (&map->lock) 2nd 0xfffffd806d057e50 inode (&ip->i_lock) lock order [1] vmmaplk (&map->lock) -> [2] inode (&ip->i_lock) #0 rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:232 #1 rrw_enter+0xc6 sys/kern/kern_rwlock.c:605 #2 VOP_LOCK+0xa6 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+0x4ff sys/dev/vnd.c:342 #6 physio+0x2f6 sys/kern/kern_physio.c:162 #7 spec_read+0x155 sys/kern/spec_vnops.c:215 #8 VOP_READ+0x102 sys/kern/vfs_vops.c:227 #9 vn_read+0x17b sys/kern/vfs_vnops.c:369 #10 dofilereadv+0x230 sys/kern/sys_generic.c:252 #11 sys_readv+0xd8 sys/kern/sys_generic.c:199 #12 syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] #12 syscall+0xbc6 sys/arch/amd64/amd64/trap.c:742 #13 Xsyscall+0x128 lock order [2] inode (&ip->i_lock) -> [1] vmmaplk (&map->lock) #0 rw_do_enter_read+0x9d sys/kern/kern_rwlock.c:346 #1 uvmfault_lookup+0x122 sys/uvm/uvm_fault.c:1924 #2 uvm_fault_check+0x4a sys/uvm/uvm_fault.c:741 #3 uvm_fault+0x106 sys/uvm/uvm_fault.c:677 #4 kpageflttrap+0x2d0 sys/arch/amd64/amd64/trap.c:283 #5 kerntrap+0x116 sys/arch/amd64/amd64/trap.c:487 #6 alltraps_kern_meltdown+0x7b #7 copyout+0x57 #8 ffs_read+0x422 sys/ufs/ffs/ffs_vnops.c:254 #9 VOP_READ+0x102 sys/kern/vfs_vops.c:227 #10 vn_rdwr+0x15b sys/kern/vfs_vnops.c:-1 #11 vmcmd_map_readvn+0x142 sys/kern/exec_subr.c:249 #12 exec_process_vmcmds+0xfb sys/kern/exec_subr.c:139 #13 sys_execve+0xbec sys/kern/kern_exec.c:471 #14 start_init+0x3c6 sys/kern/init_main.c:716 #15 proc_trampoline+0x10 Stopped at db_enter+0x25: addq $0x8,%rsp ddb{1}> ddb{1}> set $lines = 0 ddb{1}> set $maxwidth = 0 ddb{1}> show panic the kernel did not panic ddb{1}> trace db_enter() at db_enter+0x25 sys/arch/amd64/amd64/db_interface.c:438 witness_checkorder(fffffd806d057e50,9,0) at witness_checkorder+0x10fb sys/kern/subr_witness.c:-1 rw_do_enter_write(fffffd806d057e38,1) at rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:232 rrw_enter(fffffd806d057e38,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:605 VOP_LOCK(fffffd8068354ea8,2001) at VOP_LOCK+0xa6 sys/kern/vfs_vops.c:527 vn_lock(fffffd8068354ea8,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vn_rdwr(0,fffffd8068354ea8,ffff800011a26740,1d,0,1,ee25e7fe3d74cd1b,0,ffff800000b2a000,0) at vn_rdwr+0xd1 sys/kern/vfs_vnops.c:320 vndstrategy(fffffd80684e47d8) at vndstrategy+0x4ff sys/dev/vnd.c:342 physio(ffffffff81d078d0,2902,8000,ffffffff8291fdd0,ffff80002a32ce60) at physio+0x2f6 sys/kern/kern_physio.c:162 spec_read(ffff80002a32cc50) at spec_read+0x155 sys/kern/spec_vnops.c:215 VOP_READ(fffffd8070e70de0,ffff80002a32ce60,0,fffffd80097fb750) at VOP_READ+0x102 sys/kern/vfs_vops.c:227 vn_read(fffffd806ae99488,ffff80002a32ce60,0) at vn_read+0x17b sys/kern/vfs_vnops.c:369 dofilereadv(ffff8000ffff0548,5,ffff80002a32ce60,0,ffff80002a32cf20) at dofilereadv+0x230 sys/kern/sys_generic.c:252 sys_readv(ffff8000ffff0548,ffff80002a32cfd0,ffff80002a32cf20) at sys_readv+0xd8 sys/kern/sys_generic.c:199 syscall(ffff80002a32cfd0) at syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80002a32cfd0) at syscall+0xbc6 sys/arch/amd64/amd64/trap.c:742 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x337d8e8e80, count: -16 ddb{1}> show registers rdi 0 rsi 0 rbp 0xffff80002a32c730 rbx 0xfffffd8004746818 rdx 0x3fd rcx 0 rax 0x1 r8 0xffff80002a32c610 r9 0x8080808080808080 r10 0xbee1e312f29c2f05 r11 0xf3cb8a2b82cfec0a r12 0 r13 0xfffffd8003f5df00 r14 0x3 r15 0xffffffff rip 0xffffffff827b53b5 db_enter+0x25 cs 0x8 rflags 0x246 rsp 0xffff80002a32c720 ss 0x10 db_enter+0x25: addq $0x8,%rsp ddb{1}> show proc PROC (syz-executor.0) tid=299078 pid=81833 tcnt=2 stat=onproc flags process=0 proc=4000000 runpri=17, usrpri=61, slppri=32, nice=20 wchan=0x0, wmesg=, ps_single=0x0 scnt=0 ecnt=0 forw=0xffffffffffffffff, list=0xffff8000ffff1c58,0xffffffff8390e2d0 process=0xffff8000ffff49b8 user=0xffff80002a328000, vmspace=0xfffffd806eee4788 estcpu=22, cpticks=0, pctcpu=0.0, user=0, sys=0, intr=0 ddb{1}> ps PID TID PPID UID S FLAGS WAIT COMMAND 81833 316602 90410 0 7 0 syz-executor.0 *81833 299078 90410 0 7 0x4000000 syz-executor.0 90410 33429 78393 0 3 0x82 nanoslp syz-executor.0 78393 278330 24424 0 3 0x82 thrsleep syz-execprog 78393 113242 24424 0 3 0x4000082 nanoslp syz-execprog 78393 174994 24424 0 3 0x4000082 thrsleep syz-execprog 78393 144236 24424 0 3 0x4000082 thrsleep syz-execprog 78393 193752 24424 0 3 0x4000082 wait syz-execprog 78393 46083 24424 0 3 0x4000082 kqread syz-execprog 78393 372128 24424 0 3 0x4000082 thrsleep syz-execprog 78393 331225 24424 0 3 0x4000082 thrsleep syz-execprog 78393 4989 24424 0 3 0x4000082 thrsleep syz-execprog 78393 34379 24424 0 3 0x4000082 thrsleep syz-execprog 78393 207020 24424 0 3 0x4000082 thrsleep syz-execprog 24424 328292 94578 0 3 0x10008a sigsusp ksh 94578 273384 84655 0 3 0x98 kqread sshd-session 84655 31762 35595 0 3 0x92 kqread sshd-session 66874 449554 1 0 3 0x100083 ttyin getty 35595 218421 1 0 3 0x88 kqread sshd 22594 12768 8771 74 3 0x1100092 bpf pflogd 8771 362543 1 0 3 0x80 sbwait pflogd 34379 393173 35825 73 3 0x1100090 kqread syslogd 35825 446529 1 0 3 0x100082 sbwait syslogd 58982 337704 1 0 3 0x100080 kqread resolvd 14827 76771 40310 77 3 0x100092 kqread dhcpleased 39066 400703 40310 77 3 0x100092 kqread dhcpleased 40310 381185 1 0 3 0x80 kqread dhcpleased 49991 403496 0 0 3 0x14200 bored smr 74633 1043 0 0 3 0x14200 pgzero zerothread 67165 511758 0 0 3 0x14200 aiodoned aiodoned 27819 135124 0 0 3 0x14200 syncer update 87172 2444 0 0 3 0x14200 cleaner cleaner 95616 100372 0 0 3 0x14200 reaper reaper 28145 185201 0 0 3 0x14200 pgdaemon pagedaemon 21597 48885 0 0 3 0x14200 bored viomb 72459 379610 0 0 3 0x40014200 acpi0 acpi0 36337 494579 0 0 3 0x40014200 idle1 7747 252812 0 0 3 0x14200 bored softnet3 83493 230308 0 0 3 0x14200 bored softnet2 60035 74197 0 0 3 0x14200 bored softnet1 89076 406456 0 0 2 0x14200 softnet0 82124 417439 0 0 3 0x14200 bored systqmp 59438 431115 0 0 3 0x14200 bored systq 25134 197753 0 0 3 0x14200 tmoslp softclockmp 43531 137857 0 0 3 0x40014200 tmoslp softclock 16699 261759 0 0 3 0x40014200 idle0 1 320784 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{1}> show all locks Process 81833 (syz-executor.0) thread 0xffff8000ffff0548 (299078) shared rwlock vmmaplk r = 0 (0xfffffd806eee4888) #0 witness_lock+0x5bb stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5bb sys/kern/subr_witness.c:1160 #1 rw_do_enter_read+0x36e sys/kern/kern_rwlock.c:397 #2 uvm_vslock_device+0x149 sys/uvm/uvm_glue.c:173 #3 physio+0x277 sys/kern/kern_physio.c:139 #4 spec_read+0x155 sys/kern/spec_vnops.c:215 #5 VOP_READ+0x102 sys/kern/vfs_vops.c:227 #6 vn_read+0x17b sys/kern/vfs_vnops.c:369 #7 dofilereadv+0x230 sys/kern/sys_generic.c:252 #8 sys_readv+0xd8 sys/kern/sys_generic.c:199 #9 syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] #9 syscall+0xbc6 sys/arch/amd64/amd64/trap.c:742 #10 Xsyscall+0x128 exclusive kernel_lock &kernel_lock r = 0 (0xffffffff83a223b0) #0 witness_lock+0x5bb stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5bb sys/kern/subr_witness.c:1160 #1 vn_read+0x56 sys/kern/vfs_vnops.c:351 #2 dofilereadv+0x230 sys/kern/sys_generic.c:252 #3 sys_readv+0xd8 sys/kern/sys_generic.c:199 #4 syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] #4 syscall+0xbc6 sys/arch/amd64/amd64/trap.c:742 #5 Xsyscall+0x128 ddb{1}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10168 11005K 11005K 166960K 11249 0 pcb 17 12K 12K 166960K 17 0 rtable 83 2K 2K 166960K 177 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 1264 80K 80K 166960K 1284 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 4 9K 13K 166960K 45 0 proc 69 91K 103K 166960K 360 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 350 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 185 96K 209K 166960K 3924 0 UVM aobj 3 2K 2K 166960K 3 0 pinsyscall 30 60K 112K 166960K 1286 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 8672K 8736K 166960K 4472 0 kqueue 13 20K 20K 166960K 46 0 SYN cache 2 16K 16K 166960K 2 0 ddb{1}> 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 24 0 21 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 128 6 0 2 1 0 1 1 0 8 0 inpcb 328 45 0 39 1 0 1 1 0 8 0 nd6 144 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 384 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 32 194 0 48 3 1 2 2 0 8 0 art_node 16 44 0 14 1 0 1 1 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 1573 0 75 94 0 94 94 0 8 0 ffsino 288 1573 0 75 109 1 108 108 0 8 1 nchpl 144 1844 0 105 65 0 65 65 0 8 0 uvmvnodes 80 1588 0 0 33 0 33 33 0 8 0 vnodes 216 1588 0 0 89 0 89 89 0 8 0 namei 1024 7042 0 7042 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 9219 0 9219 10 6 4 8 1 8 4 plimitpl 152 52 0 42 1 0 1 1 0 8 0 sigapl 424 426 0 390 7 1 6 6 0 8 1 knotepl 120 83 0 0 3 0 3 3 0 8 0 kqueuepl 224 42 0 33 1 0 1 1 0 8 0 pipepl 336 153 0 146 4 2 2 2 0 8 1 fdescpl 520 408 0 390 4 1 3 3 0 8 1 filepl 160 2045 0 1968 6 2 4 5 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 390 0 390 2 1 1 1 0 8 1 processpl 1240 426 0 390 5 1 4 4 0 8 1 procpl 656 449 0 402 6 1 5 5 0 8 0 sockpl 728 138 0 112 4 1 3 3 0 8 0 mcl8k 8192 3 0 0 1 0 1 1 0 8 0 mcl4k 4096 203 0 0 23 0 23 23 0 8 0 mcl2k 2048 16 0 0 2 0 2 2 0 8 0 mtagpl 96 2 0 0 1 0 1 1 0 8 0 mbufpl 256 209 0 0 12 0 12 12 0 8 0 bufpl 280 4560 0 183 313 0 313 313 0 8 0 anonpl 32 8473 0 0 69 0 69 69 0 246 0 amapchunkpl 152 12464 0 12084 40 13 27 27 0 158 9 amappl16 200 4298 0 4222 9 3 6 6 0 8 1 amappl15 192 15 0 15 2 2 0 1 0 8 0 amappl14 184 196 0 183 3 1 2 2 0 8 1 amappl13 176 18 0 17 2 1 1 1 0 8 0 amappl12 168 1034 0 1016 4 2 2 2 0 8 1 amappl11 160 71 0 56 1 0 1 1 0 8 0 amappl10 152 136 0 135 3 2 1 1 0 8 0 amappl9 144 1140 0 1140 3 2 1 1 0 8 1 amappl8 136 189 0 163 3 1 2 2 0 8 0 amappl7 128 212 0 193 3 1 2 2 0 8 0 amappl6 120 248 0 242 3 1 2 2 0 8 0 amappl5 112 159 0 150 1 0 1 1 0 8 0 amappl4 104 554 0 529 3 1 2 2 0 8 1 amappl3 96 1260 0 1208 6 3 3 3 0 8 1 amappl2 88 1034 0 968 6 2 4 4 0 8 1 amappl1 80 14982 0 14416 36 12 24 24 0 8 10 amappl 88 2879 0 2778 7 3 4 5 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 408 0 390 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 408 0 390 1 0 1 1 0 8 0 vmmpekpl 168 11573 0 11549 2 0 2 2 0 8 0 vmmpepl 168 56689 0 55153 141 14 127 127 0 357 58 vmsppl 480 407 0 390 5 1 4 4 0 8 1 rwobjpl 72 24084 0 21614 75 14 61 61 0 8 6 pdppl 4096 823 0 780 111 44 67 67 0 8 24 pvpl 32 46763 0 0 377 0 377 377 0 265 0 pmappl 256 407 0 390 2 0 2 2 0 8 0 extentpl 40 45 0 27 1 0 1 1 0 8 0 phpool 112 384 0 55 10 0 10 10 0 8 0 ddb{1}> machine ddbcpu 0 Stopped at x86_ipi_db+0x27: addq $0x8,%rsp ddb{0}> trace x86_ipi_db(ffffffff83873ff0) 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 __mp_lock(ffffffff83a221a8) at __mp_lock+0x192 __mp_lock_spin sys/kern/kern_lock.c:134 [inline] __mp_lock(ffffffff83a221a8) at __mp_lock+0x192 sys/kern/kern_lock.c:165 intr_handler(ffff80002a31f8a0,ffff800000069c00) at intr_handler+0xe1 sys/arch/amd64/amd64/intr.c:559 Xintr_ioapic_edge16_untramp() at Xintr_ioapic_edge16_untramp+0x18f __mp_lock(ffffffff83a221a8) at __mp_lock+0x192 __mp_lock_spin sys/kern/kern_lock.c:134 [inline] __mp_lock(ffffffff83a221a8) at __mp_lock+0x192 sys/kern/kern_lock.c:165 softintr_dispatch(0) at softintr_dispatch+0x12a sys/kern/kern_softintr.c:83 dosoftint(0) at dosoftint+0x54 sys/arch/amd64/amd64/intr.c:847 Xsoftclock() at Xsoftclock+0x27 end of kernel end trace frame: 0x77a722e7bfa0, count: -10 ddb{0}> machine ddbcpu 1 Stopped at db_enter+0x25: addq $0x8,%rsp ddb{1}> trace db_enter() at db_enter+0x25 sys/arch/amd64/amd64/db_interface.c:438 witness_checkorder(fffffd806d057e50,9,0) at witness_checkorder+0x10fb sys/kern/subr_witness.c:-1 rw_do_enter_write(fffffd806d057e38,1) at rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:232 rrw_enter(fffffd806d057e38,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:605 VOP_LOCK(fffffd8068354ea8,2001) at VOP_LOCK+0xa6 sys/kern/vfs_vops.c:527 vn_lock(fffffd8068354ea8,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vn_rdwr(0,fffffd8068354ea8,ffff800011a26740,1d,0,1,ee25e7fe3d74cd1b,0,ffff800000b2a000,0) at vn_rdwr+0xd1 sys/kern/vfs_vnops.c:320 vndstrategy(fffffd80684e47d8) at vndstrategy+0x4ff sys/dev/vnd.c:342 physio(ffffffff81d078d0,2902,8000,ffffffff8291fdd0,ffff80002a32ce60) at physio+0x2f6 sys/kern/kern_physio.c:162 spec_read(ffff80002a32cc50) at spec_read+0x155 sys/kern/spec_vnops.c:215 VOP_READ(fffffd8070e70de0,ffff80002a32ce60,0,fffffd80097fb750) at VOP_READ+0x102 sys/kern/vfs_vops.c:227 vn_read(fffffd806ae99488,ffff80002a32ce60,0) at vn_read+0x17b sys/kern/vfs_vnops.c:369 dofilereadv(ffff8000ffff0548,5,ffff80002a32ce60,0,ffff80002a32cf20) at dofilereadv+0x230 sys/kern/sys_generic.c:252 sys_readv(ffff8000ffff0548,ffff80002a32cfd0,ffff80002a32cf20) at sys_readv+0xd8 sys/kern/sys_generic.c:199 syscall(ffff80002a32cfd0) at syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80002a32cfd0) at syscall+0xbc6 sys/arch/amd64/amd64/trap.c:742 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x337d8e8e80, count: -16