witness: lock order reversal: 1st 0xfffffd807eb8d490 vmmaplk (&map->lock) 2nd 0xfffffd8068770538 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:233 #1 rrw_enter+0xc6 sys/kern/kern_rwlock.c:616 #2 VOP_LOCK+0xa6 sys/kern/vfs_vops.c:524 #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:577 #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:352 #1 uvmfault_lookup+0x122 sys/uvm/uvm_fault.c:1864 #2 uvm_fault_check+0x4b sys/uvm/uvm_fault.c:732 #3 uvm_fault+0x106 sys/uvm/uvm_fault.c:668 #4 kpageflttrap+0x2d0 sys/arch/amd64/amd64/trap.c:279 #5 kerntrap+0x14a sys/arch/amd64/amd64/trap.c:332 #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 #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+0xbd4 sys/kern/kern_exec.c:468 #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(fffffd8068770538,9,0) at witness_checkorder+0x1047 rw_do_enter_write(fffffd8068770520,1) at rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:233 rrw_enter(fffffd8068770520,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:616 VOP_LOCK(fffffd80683ebc18,2001) at VOP_LOCK+0xa6 sys/kern/vfs_vops.c:524 vn_lock(fffffd80683ebc18,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vn_rdwr(0,fffffd80683ebc18,ffff800011a26740,1d,0,1,df89374451e7ca7a,0,ffff800000b2a000,0) at vn_rdwr+0xd1 sys/kern/vfs_vnops.c:320 vndstrategy(fffffd8067ee2478) at vndstrategy+0x4ff sys/dev/vnd.c:342 physio(ffffffff831a40e0,2902,8000,ffffffff81467b80,ffff80002a43cc00) at physio+0x2f6 sys/kern/kern_physio.c:162 spec_read(ffff80002a43c9f0) at spec_read+0x155 sys/kern/spec_vnops.c:215 VOP_READ(fffffd806dd80eb8,ffff80002a43cc00,0,fffffd807f7d32d8) at VOP_READ+0x102 sys/kern/vfs_vops.c:227 vn_read(fffffd806f7d3850,ffff80002a43cc00,0) at vn_read+0x17b sys/kern/vfs_vnops.c:369 dofilereadv(ffff80002a3d0038,5,ffff80002a43cc00,0,ffff80002a43ccc0) at dofilereadv+0x230 sys/kern/sys_generic.c:252 sys_readv(ffff80002a3d0038,ffff80002a43cd70,ffff80002a43ccc0) at sys_readv+0xd8 sys/kern/sys_generic.c:199 syscall(ffff80002a43cd70) at syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80002a43cd70) at syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xb0f3467c370, count: -16 ddb{1}> show registers rdi 0 rsi 0 rbp 0xffff80002a43c4d0 rbx 0xfffffd800470f230 rdx 0x3fd rcx 0 rax 0x1 r8 0xffff80002a43c3b0 r9 0x8080808080808080 r10 0x3fffb3b3e2399a5 r11 0xd6d93e70649c4d1c r12 0 r13 0xfffffd8003f25f00 r14 0x3 r15 0xffffffff rip 0xffffffff822c68b5 db_enter+0x25 cs 0x8 rflags 0x246 rsp 0xffff80002a43c4c0 ss 0x10 db_enter+0x25: addq $0x8,%rsp ddb{1}> show proc PROC (syz-executor.0) tid=442508 pid=21684 tcnt=2 stat=onproc flags process=0 proc=4000000 runpri=32, usrpri=50, slppri=32, nice=20 wchan=0x0, wmesg=, ps_single=0x0 scnt=0 ecnt=0 forw=0xffffffffffffffff, list=0xffff80002a3d1748,0xffffffff839e5440 process=0xffff80002a300dd0 user=0xffff80002a437000, vmspace=0xfffffd807eb8d390 estcpu=36, cpticks=1, pctcpu=0.0, user=0, sys=1, intr=0 ddb{1}> ps PID TID PPID UID S FLAGS WAIT COMMAND 21684 334373 16854 0 7 0 syz-executor.0 *21684 442508 16854 0 7 0x4000000 syz-executor.0 16854 422027 86561 0 3 0x82 nanoslp syz-executor.0 86561 300749 5709 0 3 0x82 thrsleep syz-execprog 86561 61229 5709 0 2 0x4000002 syz-execprog 86561 404380 5709 0 3 0x4000082 thrsleep syz-execprog 86561 277515 5709 0 3 0x4000082 wait syz-execprog 86561 498568 5709 0 3 0x4000082 thrsleep syz-execprog 86561 487034 5709 0 3 0x4000082 thrsleep syz-execprog 86561 347776 5709 0 3 0x4000082 thrsleep syz-execprog 86561 200707 5709 0 3 0x4000082 thrsleep syz-execprog 86561 227436 5709 0 3 0x4000082 kqread syz-execprog 86561 385731 5709 0 3 0x4000082 thrsleep syz-execprog 86561 162228 5709 0 3 0x4000082 thrsleep syz-execprog 5709 77185 58064 0 3 0x10008a sigsusp ksh 58064 120984 31526 0 3 0x98 kqread sshd-session 31526 412577 5332 0 3 0x92 kqread sshd-session 47017 86859 1 0 3 0x100083 ttyin getty 5332 273064 1 0 3 0x88 kqread sshd 88393 531 75436 74 3 0x1100092 bpf pflogd 75436 244332 1 0 3 0x80 sbwait pflogd 88470 461609 56015 73 3 0x1100090 kqread syslogd 56015 26113 1 0 3 0x100082 sbwait syslogd 97948 164009 1 0 3 0x100080 kqread resolvd 33441 423823 77738 77 3 0x100092 kqread dhcpleased 11715 35970 77738 77 3 0x100092 kqread dhcpleased 77738 455327 1 0 3 0x80 kqread dhcpleased 64553 512999 0 0 3 0x14200 bored smr 62663 480690 0 0 3 0x14200 pgzero zerothread 48308 279805 0 0 3 0x14200 aiodoned aiodoned 88951 475563 0 0 3 0x14200 syncer update 33145 436250 0 0 3 0x14200 cleaner cleaner 44295 244084 0 0 3 0x14200 reaper reaper 71172 447827 0 0 3 0x14200 pgdaemon pagedaemon 72029 307267 0 0 3 0x14200 bored viomb 32087 464883 0 0 3 0x40014200 acpi0 acpi0 97416 72491 0 0 3 0x40014200 idle1 49086 142477 0 0 3 0x14200 bored softnet3 76602 508420 0 0 3 0x14200 bored softnet2 62915 410020 0 0 3 0x14200 bored softnet1 66149 217049 0 0 2 0x14200 softnet0 5175 200982 0 0 3 0x14200 bored systqmp 78211 139079 0 0 3 0x14200 bored systq 39493 483449 0 0 3 0x14200 tmoslp softclockmp 94167 228075 0 0 3 0x40014200 tmoslp softclock 43226 490874 0 0 3 0x40014200 idle0 1 377675 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{1}> show all locks Process 21684 (syz-executor.0) thread 0xffff80002a3d0038 (442508) shared rwlock vmmaplk r = 0 (0xfffffd807eb8d490) #0 witness_lock+0x5bb stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5bb sys/kern/subr_witness.c:1155 #1 rw_do_enter_read+0x3af sys/kern/kern_rwlock.c:405 #2 uvm_vslock_device+0x149 sys/uvm/uvm_glue.c:172 #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:577 #10 Xsyscall+0x128 exclusive kernel_lock &kernel_lock r = 0 (0xffffffff838a0888) #0 witness_lock+0x5bb stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5bb sys/kern/subr_witness.c:1155 #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:577 #5 Xsyscall+0x128 ddb{1}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10165 11004K 11004K 166960K 11247 0 pcb 17 12K 12K 166960K 17 0 rtable 80 2K 2K 166960K 174 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 1K 166960K 1 0 counters 50 34K 34K 166960K 52 0 ioctlops 0 0K 4K 166960K 1477 0 mount 1 1K 1K 166960K 1 0 log 0 0K 0K 166960K 4 0 vnodes 1262 79K 80K 166960K 1282 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 38 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 351 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 168 16K 18K 166960K 3681 0 UVM aobj 3 2K 2K 166960K 3 0 pinsyscall 30 60K 112K 166960K 1289 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 8628K 8692K 166960K 4593 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 24 0 0 1 0 1 1 0 8 0 rtpcb 120 24 0 21 1 0 1 1 0 8 0 rtentry 112 45 0 12 1 0 1 1 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 808 12 0 9 1 0 1 1 0 8 0 arp 120 6 0 2 1 0 1 1 0 8 0 inpcb 376 45 0 39 1 0 1 1 0 8 0 nd6 136 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 16 0 4 1 0 1 1 0 8 0 pfstkey 128 16 0 4 1 0 1 1 0 8 0 pfstate 376 16 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 1571 0 75 94 0 94 94 0 8 0 ffsino 280 1571 0 75 108 1 107 108 0 8 0 nchpl 144 1841 0 105 65 0 65 65 0 8 0 uvmvnodes 80 1586 0 0 33 0 33 33 0 8 0 vnodes 216 1586 0 0 89 0 89 89 0 8 0 namei 1024 7042 0 7042 3 2 1 2 0 8 1 percpumem 16 40 0 1 1 0 1 1 0 8 0 kstatmem 264 12 0 2 1 0 1 1 0 8 0 scxspl 216 9187 0 9187 10 8 2 8 1 8 2 plimitpl 152 52 0 42 1 0 1 1 0 8 0 sigapl 424 427 0 391 9 3 6 6 0 8 1 futexpl 64 5 0 5 2 1 1 1 0 8 1 knotepl 120 61 0 0 2 0 2 2 0 8 0 kqueuepl 216 42 0 33 1 0 1 1 0 8 0 pipepl 328 162 0 155 4 2 2 2 0 8 1 fdescpl 504 409 0 391 5 1 4 4 0 8 1 filepl 152 2062 0 1985 5 1 4 4 0 8 1 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 391 0 391 3 2 1 1 0 8 1 processpl 1176 427 0 391 5 1 4 4 0 8 1 procpl 656 450 0 403 8 3 5 5 0 8 0 sockpl 688 138 0 112 4 1 3 3 0 8 0 mcl8k 8192 4 0 0 1 0 1 1 0 8 0 mcl4k 4096 161 0 0 18 0 18 18 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 164 0 0 9 0 9 9 0 8 0 bufpl 280 4546 0 213 310 0 310 310 0 8 0 anonpl 24 208841 0 205046 58 14 44 56 0 184 14 amapchunkpl 152 12372 0 11998 39 15 24 29 0 158 8 amappl16 200 4565 0 4491 9 4 5 5 0 8 0 amappl15 192 84 0 84 2 2 0 1 0 8 0 amappl14 184 211 0 197 3 1 2 2 0 8 1 amappl13 176 14 0 13 2 1 1 1 0 8 0 amappl12 168 1031 0 1012 4 2 2 2 0 8 0 amappl11 160 94 0 78 1 0 1 1 0 8 0 amappl10 152 103 0 98 1 0 1 1 0 8 0 amappl9 144 1109 0 1109 2 1 1 1 0 8 1 amappl8 136 156 0 134 1 0 1 1 0 8 0 amappl7 128 213 0 194 3 1 2 2 0 8 0 amappl6 120 308 0 300 3 2 1 2 0 8 0 amappl5 112 189 0 180 1 0 1 1 0 8 0 amappl4 104 540 0 520 2 1 1 2 0 8 0 amappl3 96 1312 0 1261 4 2 2 3 0 8 0 amappl2 88 972 0 909 5 2 3 4 0 8 1 amappl1 80 14954 0 14414 36 14 22 24 0 8 8 amappl 88 2941 0 2841 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 409 0 391 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 409 0 391 1 0 1 1 0 8 0 vmmpekpl 168 11571 0 11543 2 0 2 2 0 8 0 vmmpepl 168 56231 0 54793 125 14 111 125 0 357 46 vmsppl 456 408 0 391 5 1 4 4 0 8 1 rwobjpl 64 24782 0 22328 61 10 51 55 0 8 3 pdppl 4096 825 0 782 107 48 59 67 0 8 16 pvpl 32 50129 0 0 405 0 405 405 0 265 0 pmappl 248 408 0 391 2 0 2 2 0 8 0 extentpl 40 55 0 38 1 0 1 1 0 8 0 phpool 112 262 0 57 7 1 6 7 0 8 0 ddb{1}> machine ddbcpu 0 Stopped at x86_ipi_db+0x27: addq $0x8,%rsp ddb{0}> trace x86_ipi_db(ffffffff83848ff0) 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(ffffffff838a0680) at __mp_lock+0x192 __mp_lock_spin sys/kern/kern_lock.c:113 [inline] __mp_lock(ffffffff838a0680) at __mp_lock+0x192 sys/kern/kern_lock.c:144 intr_handler(ffff80002a42e960,ffff800000069c00) at intr_handler+0xe1 sys/arch/amd64/amd64/intr.c:553 Xintr_ioapic_edge16_untramp() at Xintr_ioapic_edge16_untramp+0x18f __mp_lock(ffffffff838a0680) at __mp_lock+0x199 __mp_lock_spin sys/kern/kern_lock.c:113 [inline] __mp_lock(ffffffff838a0680) at __mp_lock+0x199 sys/kern/kern_lock.c:144 softintr_dispatch(0) at softintr_dispatch+0x5b sys/arch/amd64/amd64/softintr.c:88 Xsoftclock() at Xsoftclock+0x27 end of kernel end trace frame: 0x761549ea66e0, count: -9 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(fffffd8068770538,9,0) at witness_checkorder+0x1047 rw_do_enter_write(fffffd8068770520,1) at rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:233 rrw_enter(fffffd8068770520,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:616 VOP_LOCK(fffffd80683ebc18,2001) at VOP_LOCK+0xa6 sys/kern/vfs_vops.c:524 vn_lock(fffffd80683ebc18,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vn_rdwr(0,fffffd80683ebc18,ffff800011a26740,1d,0,1,df89374451e7ca7a,0,ffff800000b2a000,0) at vn_rdwr+0xd1 sys/kern/vfs_vnops.c:320 vndstrategy(fffffd8067ee2478) at vndstrategy+0x4ff sys/dev/vnd.c:342 physio(ffffffff831a40e0,2902,8000,ffffffff81467b80,ffff80002a43cc00) at physio+0x2f6 sys/kern/kern_physio.c:162 spec_read(ffff80002a43c9f0) at spec_read+0x155 sys/kern/spec_vnops.c:215 VOP_READ(fffffd806dd80eb8,ffff80002a43cc00,0,fffffd807f7d32d8) at VOP_READ+0x102 sys/kern/vfs_vops.c:227 vn_read(fffffd806f7d3850,ffff80002a43cc00,0) at vn_read+0x17b sys/kern/vfs_vnops.c:369 dofilereadv(ffff80002a3d0038,5,ffff80002a43cc00,0,ffff80002a43ccc0) at dofilereadv+0x230 sys/kern/sys_generic.c:252 sys_readv(ffff80002a3d0038,ffff80002a43cd70,ffff80002a43ccc0) at sys_readv+0xd8 sys/kern/sys_generic.c:199 syscall(ffff80002a43cd70) at syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80002a43cd70) at syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xb0f3467c370, count: -16