witness: lock order reversal: 1st 0xffff800000dbc2e8 vmmaplk (&map->lock) 2nd 0xffff800001c92910 inode (&ip->i_lock) lock order [1] vmmaplk (&map->lock) -> [2] inode (&ip->i_lock) #0 rw_do_enter_write+0xc4 sys/kern/kern_rwlock.c:234 #1 rrw_enter+0xf0 sys/kern/kern_rwlock.c:621 #2 VOP_LOCK+0x17e sys/kern/vfs_vops.c:527 #3 vn_lock+0xca sys/kern/vfs_vnops.c:576 #4 vn_rdwr+0x138 sys/kern/vfs_vnops.c:326 #5 vndstrategy+0x8e4 sys/dev/vnd.c:342 #6 physio+0x581 sys/kern/kern_physio.c:162 #7 spec_read+0x29a sys/kern/spec_vnops.c:215 #8 VOP_READ+0x1a8 sys/kern/vfs_vops.c:227 #9 vn_read+0x1fc sys/kern/vfs_vnops.c:375 #10 dofilereadv+0x386 sys/kern/sys_generic.c:252 #11 sys_readv+0x168 sys/kern/sys_generic.c:199 #12 syscall+0x1089 mi_syscall sys/sys/syscall_mi.h:176 [inline] #12 syscall+0x1089 sys/arch/amd64/amd64/trap.c:791 #13 Xsyscall+0x128 lock order [2] inode (&ip->i_lock) -> [1] vmmaplk (&map->lock) #0 rw_do_enter_read+0x8b sys/kern/kern_rwlock.c:355 #1 uvmfault_lookup+0x1a2 sys/uvm/uvm_fault.c:-1 #2 uvm_fault_check+0x43 sys/uvm/uvm_fault.c:693 #3 uvm_fault+0x1e7 sys/uvm/uvm_fault.c:627 #4 kpageflttrap+0x41e sys/arch/amd64/amd64/trap.c:285 #5 kerntrap+0x1b6 sys/arch/amd64/amd64/trap.c:532 #6 alltraps_kern_meltdown+0x7b #7 copyout+0x59 #8 ffs_read+0x701 sys/ufs/ffs/ffs_vnops.c:254 #9 VOP_READ+0x1a8 sys/kern/vfs_vops.c:227 #10 vn_rdwr+0x1bc sys/kern/vfs_vnops.c:-1 #11 vmcmd_map_readvn+0x20a sys/kern/exec_subr.c:250 #12 exec_process_vmcmds+0x164 sys/kern/exec_subr.c:139 #13 sys_execve+0x1354 sys/kern/kern_exec.c:540 #14 start_init+0x5fb sys/kern/init_main.c:732 #15 proc_trampoline+0x10 Stopped at db_enter+0x17: popq %rbp ddb{1}> ddb{1}> set $lines = 0 ddb{1}> set $maxwidth = 0 ddb{1}> show panic the kernel did not panic ddb{1}> show kasan kasan: no report recorded this boot ddb{1}> trace db_enter() at db_enter+0x17 sys/arch/amd64/amd64/db_interface.c:457 witness_checkorder(ffff800001c92910,9,0) at witness_checkorder+0x19db sys/kern/subr_witness.c:-1 rw_do_enter_write(ffff800001c928f8,1) at rw_do_enter_write+0xc4 sys/kern/kern_rwlock.c:234 rrw_enter(ffff800001c928f8,1) at rrw_enter+0xf0 sys/kern/kern_rwlock.c:621 VOP_LOCK(ffff800001c88ce8,2001) at VOP_LOCK+0x17e sys/kern/vfs_vops.c:527 vn_lock(ffff800001c88ce8,2001) at vn_lock+0xca sys/kern/vfs_vnops.c:576 vn_rdwr(0,ffff800001c88ce8,ffff800011b06680,1004,0,1,ffff800000d9c5b8,ffff800001cb0770,ffff800001cb07e0,ffff800028fd3ff0) at vn_rdwr+0x138 sys/kern/vfs_vnops.c:326 vndstrategy(ffff800001cb0770) at vndstrategy+0x8e4 sys/dev/vnd.c:342 physio(ffffffff83c7e780,2902,8000,ffffffff833ec6c0,ffff800033f00bc0) at physio+0x581 sys/kern/kern_physio.c:162 spec_read(ffff800033f00900) at spec_read+0x29a sys/kern/spec_vnops.c:215 VOP_READ(ffff800001966440,ffff800033f00bc0,0,ffff8000001193a8) at VOP_READ+0x1a8 sys/kern/vfs_vops.c:227 vn_read(ffff800001bcecb8,ffff800033f00bc0,0) at vn_read+0x1fc sys/kern/vfs_vnops.c:375 dofilereadv(ffff800029923770,3,ffff800033f00bc0,0,ffff800033f00d80) at dofilereadv+0x386 sys/kern/sys_generic.c:252 sys_readv(ffff800029923770,ffff800033f00e10,ffff800033f00d80) at sys_readv+0x168 sys/kern/sys_generic.c:199 syscall(ffff800033f00e10) at syscall+0x1089 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff800033f00e10) at syscall+0x1089 sys/arch/amd64/amd64/trap.c:791 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x60a9330cd60, count: -16 ddb{1}> show registers rdi 0 rsi 0 rbp 0xffff800033f00000 rbx 0xffffffff84991460 .str.41 rdx 0 rcx 0xffff800028fd3ff0 rax 0 r8 0xffff800033effde0 r9 0xffff800033effd80 r10 0x1004 __ALIGN_SIZE+0x4 r11 0xffffffff821db0c0 x86_bus_space_io_read_1 r12 0xffffffff84a296e0 ffs_vget.__lock_type r13 0xffff800000dbc2e8 r14 0x3 r15 0xffffffff84a29720 .str.13 rip 0xffffffff8107c237 db_enter+0x17 cs 0x8 rflags 0x246 rsp 0xffff800033f00000 ss 0x10 db_enter+0x17: popq %rbp ddb{1}> show proc PROC (syz-executor) tid=170338 pid=71519 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=0xffff8000299227e0,0xffffffff85e8a480 process=0xffff800045ff8ea0 user=0xffff800033ef5000, vmspace=0xffff800000dbc1e8 estcpu=36, cpticks=0, pctcpu=0.0, user=0, sys=0, intr=0 ddb{1}> ps PID TID PPID UID S PRLAGS PFLAGS WAIT COMMAND 72597 114984 83371 0 2 0 0 syz-executor 58744 211243 13986 0 2 0 0 syz-executor 58744 378644 13986 0 3 0 0x4000080 fsleep syz-executor 64153 266379 31488 0 2 0 0 syz-executor 60522 262854 38921 0 2 0 0 syz-executor 71519 76376 56507 0 7 0 0 syz-executor *71519 170338 56507 0 7 0 0x4000000 syz-executor 1823 432693 94160 0 2 0x2 0 syz-executor 83371 184541 94160 0 3 0x2 0x80 nanoslp syz-executor 13986 276422 94160 0 3 0x2 0x80 nanoslp syz-executor 31488 242626 94160 0 3 0x2 0x80 nanoslp syz-executor 38921 464577 94160 0 2 0x2 0 syz-executor 56507 193020 94160 0 3 0x2 0x80 nanoslp syz-executor 94160 423400 52618 0 3 0x2 0x80 wait syz-executor 52618 397341 62604 0 3 0x100002 0x88 sigsusp ksh 62604 402159 67570 0 3 0x10 0x88 kqread sshd-session 67570 204571 30438 0 3 0x12 0x80 kqread sshd-session 88971 384621 1 0 3 0x100003 0x80 ttyin getty 30438 79182 1 0 3 0 0x88 kqread sshd 33644 289851 47167 74 3 0x1100012 0x80 bpf pflogd 47167 210382 1 0 3 0 0x80 sbwait pflogd 42993 279477 70038 73 3 0x1100010 0x80 kqread syslogd 70038 175965 1 0 3 0x100002 0x80 sbwait syslogd 45746 115413 1 0 3 0x100000 0x80 kqread resolvd 88399 349356 60204 77 3 0x100012 0x80 kqread dhcpleased 53354 480125 60204 77 3 0x100012 0x80 kqread dhcpleased 60204 506511 1 0 3 0 0x80 kqread dhcpleased 79450 256484 0 0 3 0x14000 0x200 bored smr 94760 10353 0 0 2 0x14000 0x200 zerothread 9076 150345 0 0 3 0x14000 0x200 aiodoned aiodoned 70192 298011 0 0 3 0x14000 0x200 syncer update 94299 251088 0 0 3 0x14000 0x200 cleaner cleaner 29544 331564 0 0 3 0x14000 0x200 reaper reaper 40111 373922 0 0 3 0x14000 0x200 pgdaemon pagedaemon 24157 92500 0 0 3 0x14000 0x200 bored viomb 22652 364225 0 0 3 0x14000 0x40000200 acpi0 acpi0 35837 324784 0 0 3 0x14000 0x40000200 idle1 61929 116922 0 0 3 0x14000 0x200 bored softnet1 57605 308319 0 0 3 0x14000 0x200 bored softnet0 42156 428920 0 0 3 0x14000 0x200 smrbar systqmp 20413 191704 0 0 3 0x14000 0x200 bored systq 89179 125122 0 0 3 0x14000 0x200 tmoslp softclockmp 60131 93978 0 0 3 0x14000 0x40000200 tmoslp softclock 34363 380671 0 0 3 0x14000 0x40000200 idle0 1 41657 0 0 3 0x2 0x80 wait init 0 0 -1 0 3 0x10000 0x200 scheduler swapper ddb{1}> show all locks Process 71519 (syz-executor) thread 0xffff800029923770 (170338) shared rwlock vmmaplk r = 0 (0xffff800000dbc2e8) #0 witness_lock+0x632 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x632 sys/kern/subr_witness.c:1160 #1 rw_do_enter_read+0x55d sys/kern/kern_rwlock.c:413 #2 uvm_vslock_device+0x1bc sys/uvm/uvm_glue.c:173 #3 physio+0x4a7 sys/kern/kern_physio.c:139 #4 spec_read+0x29a sys/kern/spec_vnops.c:215 #5 VOP_READ+0x1a8 sys/kern/vfs_vops.c:227 #6 vn_read+0x1fc sys/kern/vfs_vnops.c:375 #7 dofilereadv+0x386 sys/kern/sys_generic.c:252 #8 sys_readv+0x168 sys/kern/sys_generic.c:199 #9 syscall+0x1089 mi_syscall sys/sys/syscall_mi.h:176 [inline] #9 syscall+0x1089 sys/arch/amd64/amd64/trap.c:791 #10 Xsyscall+0x128 exclusive kernel_lock &kernel_lock r = 0 (0xffffffff85609240) #0 witness_lock+0x632 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x632 sys/kern/subr_witness.c:1160 #1 vn_read+0x83 sys/kern/vfs_vnops.c:357 #2 dofilereadv+0x386 sys/kern/sys_generic.c:252 #3 sys_readv+0x168 sys/kern/sys_generic.c:199 #4 syscall+0x1089 mi_syscall sys/sys/syscall_mi.h:176 [inline] #4 syscall+0x1089 sys/arch/amd64/amd64/trap.c:791 #5 Xsyscall+0x128 Process 42156 (systqmp) thread 0xffff800045ffe7c8 (428920) shared rwlock systqmp r = 0 (0xffffffff84f4ea98) #0 witness_lock+0x632 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x632 sys/kern/subr_witness.c:1160 #1 taskq_thread+0x1ba sys/kern/kern_task.c:442 #2 proc_trampoline+0x10 ddb{1}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 11067 12263K 12394K 166960K 12161 0 pcb 21 24K 24K 166960K 21 0 rtable 257 22K 31K 166960K 343 0 pf 36 22K 26K 166960K 47 0 ifaddr 43 12K 12K 166960K 45 0 ifgroup 55 2K 2K 166960K 55 0 sysctl 1 1K 13K 166960K 6 0 counters 70 42K 42K 166960K 70 0 ioctlops 9 8K 194K 166960K 1494 0 iov 1 0K 0K 166960K 1 0 mount 1 1K 1K 166960K 1 0 log 0 0K 0K 166960K 4 0 vnodes 1316 85K 85K 166960K 1387 0 UFS quota 1 36K 36K 166960K 1 0 UFS mount 5 44K 44K 166960K 5 0 shm 2 2K 6K 166960K 3 0 VM map 2 1K 1K 166960K 2 0 sem 3 0K 0K 166960K 3 0 dirhash 12 2K 2K 166960K 12 0 ACPI 1734 201K 413K 166960K 11964 0 file desc 17 56K 117K 166960K 172 0 proc 100 129K 181K 166960K 561 0 subproc 74 9K 9K 166960K 74 0 NFS srvsock 1 0K 0K 166960K 1 0 NFS daemon 1 20K 20K 166960K 1 0 in_multi 99 7K 7K 166960K 99 0 ether_multi 1 0K 0K 166960K 1 0 mrt 2 0K 0K 166960K 3 0 ISOFS mount 1 36K 36K 166960K 1 0 MSDOSFS mount 1 20K 20K 166960K 1 0 ttys 37 263K 263K 166960K 37 0 exec 20 5K 17K 166960K 386 0 fusefs mount 1 36K 36K 166960K 1 0 tdb 3 1K 1K 166960K 3 0 VM swap 14 124K 124K 166960K 15 0 UVM amap 696 319K 370K 166960K 3400 0 UVM aobj 4 4K 4K 166960K 4 0 pinsyscall 139 256K 382K 166960K 1328 0 memdesc 1 4K 4K 166960K 1 0 crypto data 1 1K 1K 166960K 1 0 NDP 28 2K 2K 166960K 28 0 temp 245 9272K 9470K 166960K 3635 0 kqueue 14 44K 84K 166960K 26 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 28 0 0 1 0 1 1 0 8 0 rtpcb 120 34 0 31 1 0 1 1 0 8 0 rtentry 176 112 0 12 6 0 6 6 0 8 0 unpcb 144 118 0 101 3 0 3 3 0 8 2 syncache 336 4 0 4 1 0 1 1 0 8 1 tcpcb 736 10 0 6 1 0 1 1 0 8 0 arp 136 19 0 2 1 0 1 1 0 8 0 inpcb 328 85 0 77 2 0 2 2 0 8 1 nd6 152 24 0 3 1 0 1 1 0 8 0 kcovpl 48 8 0 1 1 0 1 1 0 8 0 pfosfp 40 1429 0 1005 5 0 5 5 0 8 0 pfosfpen 112 1429 0 714 21 0 21 21 0 8 0 pfstitem 24 29 0 0 1 0 1 1 0 8 0 pfstkey 128 29 0 0 1 0 1 1 0 8 0 pfstate 448 29 0 0 4 0 4 4 0 8 0 pfrule 1360 22 0 17 2 1 1 2 0 8 0 art_heap8 4096 1 0 0 1 0 1 1 0 8 0 art_heap4 256 454 0 0 29 0 29 29 0 8 0 art_table 40 455 0 0 5 0 5 5 0 8 0 art_node 32 112 0 12 1 0 1 1 0 8 0 semapl 72 1 0 0 1 0 1 1 0 8 0 shmpl 120 1 0 1 1 0 1 1 0 8 1 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 1621 0 150 93 0 93 93 0 8 0 ffsino 296 1621 0 150 114 0 114 114 0 8 0 nchpl 144 1862 0 165 64 0 64 64 0 8 0 vnodes 216 1727 0 0 96 0 96 96 0 8 0 namei 1024 6693 0 6693 2 0 2 2 0 8 2 percpumem 16 51 0 1 1 0 1 1 0 8 0 kstatmem 264 27 0 2 2 0 2 2 0 8 0 scxspl 216 6832 0 6832 4 3 1 3 1 8 1 plimitpl 152 31 0 14 1 0 1 1 0 8 0 sigapl 424 487 0 442 7 0 7 7 0 8 2 knotepl 120 63 0 0 2 0 2 2 0 8 0 kqueuepl 224 26 0 17 1 0 1 1 0 8 0 pipepl 344 133 0 106 3 0 3 3 0 8 0 fdescpl 528 471 0 442 3 0 3 3 0 8 1 filepl 160 1971 0 1772 15 0 15 15 0 8 6 lockfpl 104 15 0 12 1 0 1 1 0 8 0 lockfspl 48 9 0 6 1 0 1 1 0 8 0 sessionpl 144 26 0 17 1 0 1 1 0 8 0 pgrppl 48 35 0 18 1 0 1 1 0 8 0 ucredpl 104 175 0 161 1 0 1 1 0 8 0 zombiepl 144 444 0 442 1 0 1 1 0 8 0 processpl 1240 487 0 442 5 0 5 5 0 8 1 procpl 664 551 0 504 6 0 6 6 0 8 2 sosppl 176 2 0 2 1 0 1 1 0 8 1 sockpl 752 237 0 209 9 0 9 9 0 8 5 mcl8k 8192 1 0 0 1 0 1 1 0 8 0 mcl4k 4096 113 0 0 15 0 15 15 0 8 0 mcl2k 2048 17 0 0 3 0 3 3 0 8 0 mextrefs 64 17 0 0 1 0 1 1 0 8 0 mtagpl 96 2 0 0 1 0 1 1 0 8 0 mbufpl 256 180 0 0 11 0 11 11 0 8 0 bufpl 272 2360 0 106 151 0 151 151 0 8 0 anonpl 32 5400 0 0 44 0 44 44 0 222 0 amapchunkpl 152 9393 0 9048 26 1 25 25 0 158 10 amappl16 200 1981 0 1963 5 3 2 5 0 8 0 amappl15 192 10 0 9 1 0 1 1 0 8 0 amappl14 184 431 0 429 1 0 1 1 0 8 0 amappl13 176 124 0 112 1 0 1 1 0 8 0 amappl12 168 718 0 693 2 0 2 2 0 8 0 amappl11 160 7 0 7 2 1 1 1 0 8 1 amappl10 152 65 0 51 1 0 1 1 0 8 0 amappl9 144 274 0 272 1 0 1 1 0 8 0 amappl8 136 99 0 97 1 0 1 1 0 8 0 amappl7 128 149 0 136 1 0 1 1 0 8 0 amappl6 120 159 0 158 1 0 1 1 0 8 0 amappl5 112 115 0 104 1 0 1 1 0 8 0 amappl4 104 307 0 289 1 0 1 1 0 8 0 amappl3 96 1625 0 1556 3 0 3 3 0 8 1 amappl2 88 586 0 514 2 0 2 2 0 8 0 amappl1 80 10683 0 10089 16 0 16 16 0 8 2 amappl 88 2669 0 2548 4 0 4 4 0 92 1 uvmvnodes 80 102 0 0 3 0 3 3 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 3 0 1 1 0 1 1 0 8 0 uaddrrnd 24 471 0 442 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 471 0 442 1 0 1 1 0 8 0 vmmpekpl 168 6020 0 5988 2 0 2 2 0 8 0 vmmpepl 168 39972 0 38231 89 1 88 88 0 357 9 vmsppl 488 470 0 442 5 0 5 5 0 8 1 rwobjpl 80 14991 0 14017 26 1 25 25 0 8 1 pdppl 4096 951 0 884 97 26 71 87 0 8 4 pvpl 32 12159 0 0 100 1 99 99 0 265 0 pmappl 256 470 0 442 3 0 3 3 0 8 1 extentpl 40 47 0 29 1 0 1 1 0 8 0 phpool 120 420 0 29 13 0 13 13 0 8 0 ddb{1}> machine ddbcpu 0 Stopped at x86_ipi_db+0x19: leave ddb{0}> trace x86_ipi_db(ffffffff84f6eff0) at x86_ipi_db+0x19 sys/arch/amd64/amd64/db_interface.c:412 x86_ipi_handler() at x86_ipi_handler+0x112 sys/arch/amd64/amd64/ipi.c:106 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27 __mp_lock(ffffffff85608a40) at __mp_lock+0x272 __mp_lock_spin sys/kern/kern_lock.c:142 [inline] __mp_lock(ffffffff85608a40) at __mp_lock+0x272 sys/kern/kern_lock.c:173 intr_handler(ffff80003a300190,ffff800000162480) at intr_handler+0x113 sys/arch/amd64/amd64/intr.c:560 Xintr_ioapic_edge16_untramp() at Xintr_ioapic_edge16_untramp+0x18f __asan_load4_noabort(ffffffff85608a40) at __asan_load4_noabort+0x67 sys/kern/subr_kasan.c:1098 softintr_dispatch(0) at softintr_dispatch+0x215 sys/kern/kern_softintr.c:83 dosoftint(0) at dosoftint+0x7b sys/arch/amd64/amd64/intr.c:862 Xsoftclock() at Xsoftclock+0x27 end of kernel end trace frame: 0x780e767ad340, count: -10 ddb{0}> machine ddbcpu 1 Stopped at db_enter+0x17: popq %rbp ddb{1}> trace db_enter() at db_enter+0x17 sys/arch/amd64/amd64/db_interface.c:457 witness_checkorder(ffff800001c92910,9,0) at witness_checkorder+0x19db sys/kern/subr_witness.c:-1 rw_do_enter_write(ffff800001c928f8,1) at rw_do_enter_write+0xc4 sys/kern/kern_rwlock.c:234 rrw_enter(ffff800001c928f8,1) at rrw_enter+0xf0 sys/kern/kern_rwlock.c:621 VOP_LOCK(ffff800001c88ce8,2001) at VOP_LOCK+0x17e sys/kern/vfs_vops.c:527 vn_lock(ffff800001c88ce8,2001) at vn_lock+0xca sys/kern/vfs_vnops.c:576 vn_rdwr(0,ffff800001c88ce8,ffff800011b06680,1004,0,1,ffff800000d9c5b8,ffff800001cb0770,ffff800001cb07e0,ffff800028fd3ff0) at vn_rdwr+0x138 sys/kern/vfs_vnops.c:326 vndstrategy(ffff800001cb0770) at vndstrategy+0x8e4 sys/dev/vnd.c:342 physio(ffffffff83c7e780,2902,8000,ffffffff833ec6c0,ffff800033f00bc0) at physio+0x581 sys/kern/kern_physio.c:162 spec_read(ffff800033f00900) at spec_read+0x29a sys/kern/spec_vnops.c:215 VOP_READ(ffff800001966440,ffff800033f00bc0,0,ffff8000001193a8) at VOP_READ+0x1a8 sys/kern/vfs_vops.c:227 vn_read(ffff800001bcecb8,ffff800033f00bc0,0) at vn_read+0x1fc sys/kern/vfs_vnops.c:375 dofilereadv(ffff800029923770,3,ffff800033f00bc0,0,ffff800033f00d80) at dofilereadv+0x386 sys/kern/sys_generic.c:252 sys_readv(ffff800029923770,ffff800033f00e10,ffff800033f00d80) at sys_readv+0x168 sys/kern/sys_generic.c:199 syscall(ffff800033f00e10) at syscall+0x1089 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff800033f00e10) at syscall+0x1089 sys/arch/amd64/amd64/trap.c:791 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x60a9330cd60, count: -16