witness: lock order reversal: 1st 0xffffffff82968010 pf_lock (pf_lock) 2nd 0xffffffff829323b0 netlock (netlock) lock order "netlock"(rwlock) -> "pf_lock"(rwlock) first seen at: #0 rw_enter_write+0x5b sys/kern/kern_rwlock.c:128 #1 pfioctl+0x417c sys/net/pf_ioctl.c:2964 #2 VOP_IOCTL+0x96 sys/kern/vfs_vops.c:264 #3 vn_ioctl+0xbc sys/kern/vfs_vnops.c:531 #4 sys_ioctl+0x4a2 #5 syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] #5 syscall+0x489 sys/arch/amd64/amd64/trap.c:585 #6 Xsyscall+0x128 lock order "pf_lock"(rwlock) -> "netlock"(rwlock) first seen at: #0 rw_enter_write+0x5b sys/kern/kern_rwlock.c:128 #1 uvn_io+0x418 sys/uvm/uvm_vnode.c:1245 #2 uvn_get+0x1df sys/uvm/uvm_vnode.c:1078 #3 uvm_fault_lower+0x36c sys/uvm/uvm_fault.c:1275 #4 uvm_fault+0x248 #5 kpageflttrap+0x209 #6 kerntrap+0xef sys/arch/amd64/amd64/trap.c:318 #7 alltraps_kern_meltdown+0x7b #8 copyout+0x53 #9 pfioctl+0x4516 sys/net/pf_ioctl.c:2932 #10 VOP_IOCTL+0x96 sys/kern/vfs_vops.c:264 #11 vn_ioctl+0xbc sys/kern/vfs_vnops.c:531 #12 sys_ioctl+0x4a2 #13 syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] #13 syscall+0x489 sys/arch/amd64/amd64/trap.c:585 #14 Xsyscall+0x128 Stopped at db_enter+0x18: 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+0x18 sys/arch/amd64/amd64/db_interface.c:437 witness_checkorder(ffffffff829323b0,9,0) at witness_checkorder+0x10b7 witness_debugger sys/kern/subr_witness.c:2502 [inline] witness_checkorder(ffffffff829323b0,9,0) at witness_checkorder+0x10b7 sys/kern/subr_witness.c:1105 rw_enter_write(ffffffff829323a0) at rw_enter_write+0x5b sys/kern/kern_rwlock.c:128 uvn_io(fffffd806aa9d108,ffff80002130a1d8,1,202,0) at uvn_io+0x418 sys/uvm/uvm_vnode.c:1245 uvn_get(fffffd806aa9d108,0,ffff80002130a298,ffff80002130a268,0,0,b073c1037bfcb435,1) at uvn_get+0x1df sys/uvm/uvm_vnode.c:1078 uvm_fault_lower(ffff80002130a400,ffff80002130a438,ffff80002130a380,0) at uvm_fault_lower+0x36c sys/uvm/uvm_fault.c:1275 uvm_fault(fffffd8073f80d08,20001000,0,2) at uvm_fault+0x248 kpageflttrap(ffff80002130a590,20001000) at kpageflttrap+0x209 kerntrap(ffff80002130a590) at kerntrap+0xef sys/arch/amd64/amd64/trap.c:318 alltraps_kern_meltdown() at alltraps_kern_meltdown+0x7b copyout() at copyout+0x53 pfioctl(4900,c0284457,ffff80002130aa00,1,ffff8000ffff27e8) at pfioctl+0x4516 sys/net/pf_ioctl.c:2932 VOP_IOCTL(fffffd806f686808,c0284457,ffff80002130aa00,1,fffffd807f7d7840,ffff8000ffff27e8) at VOP_IOCTL+0x96 sys/kern/vfs_vops.c:264 vn_ioctl(fffffd806c6705f0,c0284457,ffff80002130aa00,ffff8000ffff27e8) at vn_ioctl+0xbc sys/kern/vfs_vnops.c:531 sys_ioctl(ffff8000ffff27e8,ffff80002130ab18,ffff80002130ab70) at sys_ioctl+0x4a2 syscall(ffff80002130abe0) at syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] syscall(ffff80002130abe0) at syscall+0x489 sys/arch/amd64/amd64/trap.c:585 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7f7ffffdb2b0, count: -17 ddb{1}> show registers rdi 0x3 rsi 0xffffffff829b7950 __sancov_gen_cov_switch_values.134 rbp 0xffff800021309fa0 rbx 0x3 rdx 0x3fd rcx 0 rax 0x1 r8 0xffff800021309f10 r9 0x8080808080808080 r10 0xee29416372d82e13 r11 0xb2ebb23de1bdafde r12 0xffffffff82b8dea0 w_lodata+0x52b70 r13 0 r14 0xffffffff82b891a0 w_lodata+0x4de70 r15 0xfffffd8002f7a840 rip 0xffffffff818222c8 db_enter+0x18 cs 0x8 rflags 0x246 rsp 0xffff800021309f90 ss 0x10 db_enter+0x18: addq $0x8,%rsp ddb{1}> show proc PROC (syz-executor.0) pid=18028 stat=onproc flags process=0 proc=0 pri=17, usrpri=55, nice=20 forw=0xffffffffffffffff, list=0xffff8000ffff3ce8,0xffffffff82a7cc20 process=0xffff8000213331f8 user=0xffff800021305000, vmspace=0xfffffd8073f80d08 estcpu=36, cpticks=1, pctcpu=0.0 user=0, sys=0, intr=0 ddb{1}> ps PID TID PPID UID S FLAGS WAIT COMMAND *97923 18028 1006 0 7 0 syz-executor.0 92479 136835 24979 0 7 0x2 ndp 24551 426960 254 0 2 0x100002 sh 45301 203351 73603 0 2 0x2 arp 66066 192812 9185 0 2 0x2 ndp 73603 38974 31748 0 3 0x10008a sigsusp sh 24979 110337 74406 0 3 0x10008a sigsusp sh 9185 492929 25893 0 3 0x10008a sigsusp sh 82590 23381 68304 0 2 0x2 arp 16303 128586 50061 0 2 0x2 ifconfig 68304 15192 35443 0 3 0x10008a sigsusp sh 50061 190944 56834 0 3 0x10008a sigsusp sh 77950 199637 15642 0 2 0x100002 sh 74406 452934 155 0 3 0x82 wait syz-executor.2 56834 346605 155 0 3 0x82 wait syz-executor.7 31748 118561 155 0 2 0x2 syz-executor.4 35443 289824 155 0 3 0x82 wait syz-executor.3 254 214672 155 0 3 0x82 wait syz-executor.5 25893 37495 155 0 3 0x82 wait syz-executor.6 15642 216957 155 0 3 0x82 wait syz-executor.1 1006 517798 155 0 3 0x82 nanoslp syz-executor.0 155 337400 30513 0 3 0x82 thrsleep syz-execprog 155 10111 30513 0 3 0x4000082 nanoslp syz-execprog 155 182692 30513 0 3 0x4000082 kqread syz-execprog 155 228680 30513 0 3 0x4000082 thrsleep syz-execprog 155 255047 30513 0 3 0x4000082 thrsleep syz-execprog 155 376426 30513 0 3 0x4000082 thrsleep syz-execprog 155 136398 30513 0 3 0x4000082 thrsleep syz-execprog 155 257163 30513 0 3 0x4000082 thrsleep syz-execprog 30513 159309 99356 0 3 0x10008a sigsusp ksh 99356 75966 24660 0 3 0x9a kqread sshd 90140 6650 1 0 3 0x100083 ttyin getty 24660 472388 1 0 3 0x88 kqread sshd 98378 434020 64719 74 3 0x1100092 bpf pflogd 64719 352646 1 0 3 0x80 netio pflogd 30186 310816 22782 73 3 0x1100090 kqread syslogd 22782 227499 1 0 3 0x100082 netio syslogd 72411 334121 1 0 3 0x100080 kqread resolvd 92086 247307 82649 77 3 0x100092 kqread dhcpleased 43191 324191 82649 77 3 0x100092 kqread dhcpleased 82649 420014 1 0 3 0x80 kqread dhcpleased 27629 14013 0 0 3 0x14200 bored smr 35009 115912 0 0 2 0x14200 zerothread 18026 47600 0 0 3 0x14200 aiodoned aiodoned 74104 490327 0 0 3 0x14200 syncer update 23903 193661 0 0 3 0x14200 cleaner cleaner 27241 107081 0 0 3 0x14200 reaper reaper 19901 70975 0 0 3 0x14200 pgdaemon pagedaemon 3326 117515 0 0 3 0x14200 bored viomb 90618 422945 0 0 3 0x40014200 acpi0 acpi0 60572 40956 0 0 3 0x40014200 idle1 30536 81809 0 0 3 0x14200 bored softnet 16333 414515 0 0 3 0x14200 bored systqmp 84440 321628 0 0 3 0x14200 bored systq 95763 150732 0 0 3 0x40014200 bored softclock 81499 106898 0 0 3 0x40014200 idle0 1 464547 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{1}> show all locks Process 97923 (syz-executor.0) thread 0xffff8000ffff27e8 (18028) exclusive rwlock pf_lock r = 0 (0xffffffff82968010) #0 witness_lock+0x44d #1 pfioctl+0x4504 sys/net/pf_ioctl.c:2931 #2 VOP_IOCTL+0x96 sys/kern/vfs_vops.c:264 #3 vn_ioctl+0xbc sys/kern/vfs_vnops.c:531 #4 sys_ioctl+0x4a2 #5 syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] #5 syscall+0x489 sys/arch/amd64/amd64/trap.c:585 #6 Xsyscall+0x128 shared rwlock pfioctl_rw r = 0 (0xffffffff82968070) #0 witness_lock+0x44d #1 pfioctl+0x946 sys/net/pf_ioctl.c:1150 #2 VOP_IOCTL+0x96 sys/kern/vfs_vops.c:264 #3 vn_ioctl+0xbc sys/kern/vfs_vnops.c:531 #4 sys_ioctl+0x4a2 #5 syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] #5 syscall+0x489 sys/arch/amd64/amd64/trap.c:585 #6 Xsyscall+0x128 exclusive kernel_lock &kernel_lock r = 0 (0xffffffff82ae5250) #0 witness_lock+0x44d #1 vn_ioctl+0x41 sys/kern/vfs_vnops.c:514 #2 sys_ioctl+0x4a2 #3 syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] #3 syscall+0x489 sys/arch/amd64/amd64/trap.c:585 #4 Xsyscall+0x128 ddb{1}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10173 6473K 6473K 78643K 11263 0 pcb 13 8K 8K 78643K 13 0 rtable 188 5K 5K 78643K 266 0 ifaddr 81 16K 16K 78643K 85 0 counters 56 35K 35K 78643K 56 0 ioctlops 0 0K 4K 78643K 1484 0 mount 1 1K 1K 78643K 1 0 log 0 0K 0K 78643K 5 0 vnodes 1167 73K 73K 78643K 1180 0 UFS quota 1 32K 32K 78643K 1 0 UFS mount 5 36K 36K 78643K 5 0 shm 2 1K 1K 78643K 2 0 VM map 2 1K 1K 78643K 2 0 sem 2 0K 0K 78643K 2 0 dirhash 12 2K 2K 78643K 12 0 ACPI 1697 195K 286K 78643K 12548 0 file desc 23 85K 89K 78643K 120 0 proc 74 103K 128K 78643K 492 0 NFS srvsock 1 0K 0K 78643K 1 0 NFS daemon 1 16K 16K 78643K 1 0 in_multi 75 5K 5K 78643K 75 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 25 122K 122K 78643K 25 0 exec 0 0K 2K 78643K 628 0 tdb 3 0K 0K 78643K 3 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 166 72K 73K 78643K 2153 0 UVM aobj 3 2K 2K 78643K 3 0 memdesc 1 4K 4K 78643K 1 0 crypto data 1 1K 1K 78643K 1 0 NDP 23 1K 1K 78643K 23 0 temp 56 4714K 4777K 78643K 3414 0 kqueue 12 18K 18K 78643K 25 0 SYN cache 2 16K 16K 78643K 2 0 ddb{1}> 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 24 0 21 1 0 1 1 0 8 0 rtentry 112 88 0 1 3 0 3 3 0 8 0 unpcb 136 35 0 20 1 0 1 1 0 8 0 syncache 296 5 0 5 2 1 1 1 0 8 1 tcpqe 32 13 0 13 1 1 0 1 0 8 0 tcpcb 736 8 0 5 1 0 1 1 0 8 0 arp 120 16 0 0 1 0 1 1 0 8 0 inpcb 312 62 0 55 1 0 1 1 0 8 0 nd6 48 12 0 0 1 0 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 14 0 2 1 0 1 1 0 8 0 pfstkey 112 14 0 2 1 0 1 1 0 8 0 pfstate 336 14 0 2 1 0 1 1 0 8 0 pfrule 1360 21 0 16 2 1 1 2 0 8 0 rttmrq 48 4 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 350 0 0 22 0 22 22 0 8 0 art_table 32 351 0 0 3 0 3 3 0 8 0 art_node 16 87 0 7 1 0 1 1 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 1481 0 49 90 0 90 90 0 8 0 ffsino 272 1481 0 49 96 0 96 96 0 8 0 nchpl 144 1744 0 59 63 0 63 63 0 8 0 uvmvnodes 80 1491 0 0 31 0 31 31 0 8 0 vnodes 224 1491 0 0 88 0 88 88 0 8 0 namei 1024 5904 0 5904 3 1 2 2 0 8 2 percpumem 16 40 0 0 1 0 1 1 0 8 0 kstatmem 264 24 0 0 2 0 2 2 0 8 0 scxspl 216 5545 0 5545 10 9 1 8 0 8 1 plimitpl 152 24 0 9 1 0 1 1 0 8 0 sigapl 424 425 0 375 6 0 6 6 0 8 0 knotepl 120 98 0 0 3 0 3 3 0 8 0 kqueuepl 216 21 0 13 1 0 1 1 0 8 0 pipepl 336 134 0 106 4 1 3 3 0 8 0 fdescpl 496 411 0 375 5 0 5 5 0 8 0 filepl 152 1534 0 1398 6 0 6 6 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 26 0 9 1 0 1 1 0 8 0 pgrppl 48 26 0 9 1 0 1 1 0 8 0 ucredpl 96 69 0 57 1 0 1 1 0 8 0 zombiepl 144 375 0 375 2 1 1 1 0 8 1 processpl 1064 425 0 375 4 0 4 4 0 8 0 procpl 672 432 0 375 5 0 5 5 0 8 0 sockpl 480 121 0 96 5 1 4 4 0 8 0 mcl8k 8192 6 0 0 1 0 1 1 0 8 0 mcl4k 4096 2 0 0 1 0 1 1 0 8 0 mcl2k 2048 81 0 0 10 0 10 10 0 8 0 mtagpl 96 2 0 0 1 0 1 1 0 8 0 mbufpl 256 347 0 0 20 0 20 20 0 8 0 bufpl 288 3610 0 145 248 0 248 248 0 8 0 anonpl 24 51328 0 46464 45 4 41 42 0 186 10 amapchunkpl 152 4368 0 4034 17 1 16 16 0 158 2 amappl16 200 297 0 215 5 0 5 5 0 8 0 amappl15 192 1 0 0 1 0 1 1 0 8 0 amappl14 184 11 0 10 1 0 1 1 0 8 0 amappl13 176 98 0 87 1 0 1 1 0 8 0 amappl12 168 5 0 3 2 1 1 1 0 8 0 amappl11 160 100 0 77 1 0 1 1 0 8 0 amappl10 152 29 0 26 1 0 1 1 0 8 0 amappl9 144 472 0 468 1 0 1 1 0 8 0 amappl8 136 511 0 485 3 1 2 2 0 8 0 amappl7 128 109 0 97 1 0 1 1 0 8 0 amappl6 120 222 0 203 2 0 2 2 0 8 1 amappl5 112 94 0 82 1 0 1 1 0 8 0 amappl4 104 832 0 796 2 0 2 2 0 8 1 amappl3 96 545 0 502 2 0 2 2 0 8 0 amappl2 88 667 0 596 4 1 3 3 0 8 1 amappl1 80 11785 0 11082 22 2 20 20 0 8 5 amappl 88 1750 0 1642 4 1 3 3 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 72 2 0 0 1 0 1 1 0 8 0 uaddrrnd 24 411 0 375 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 411 0 375 1 0 1 1 0 8 0 vmmpekpl 168 8438 0 8416 2 0 2 2 0 8 0 vmmpepl 168 38880 0 37038 96 4 92 92 0 357 10 vmsppl 368 410 0 375 4 0 4 4 0 8 0 rwobjpl 56 12418 0 9815 43 2 41 41 0 8 3 pdppl 4096 829 0 750 101 20 81 81 0 8 2 pvpl 32 233087 0 223928 264 5 259 259 0 265 181 pmappl 248 410 0 375 3 0 3 3 0 8 0 extentpl 40 58 0 38 1 0 1 1 0 8 0 phpool 112 612 0 25 17 0 17 17 0 8 0 ddb{1}> machine ddbcpu 0 Stopped at x86_ipi_db+0x1a: addq $0x8,%rsp ddb{0}> trace x86_ipi_db(ffffffff82960ff0) 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(ffffffff82ae5048) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff82ae5048) at __mp_lock+0x122 sys/kern/kern_lock.c:147 intr_handler(ffff800021304580,ffff800000078500) at intr_handler+0x5e sys/arch/amd64/amd64/intr.c:532 Xintr_ioapic_edge16_untramp() at Xintr_ioapic_edge16_untramp+0x18f __mp_lock(ffffffff82ae5048) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff82ae5048) at __mp_lock+0x122 sys/kern/kern_lock.c:147 softintr_dispatch(0) at softintr_dispatch+0x4e sys/arch/amd64/amd64/softintr.c:88 Xsoftclock() at Xsoftclock+0x1f __mp_lock(ffffffff82ae5048) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff82ae5048) at __mp_lock+0x122 sys/kern/kern_lock.c:147 syscall(ffff8000213048b0) at syscall+0x3ef mi_syscall sys/sys/syscall_mi.h:93 [inline] syscall(ffff8000213048b0) at syscall+0x3ef sys/arch/amd64/amd64/trap.c:585 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7f7fffff1660, count: -12 ddb{0}> machine ddbcpu 1 Stopped at db_enter+0x18: addq $0x8,%rsp ddb{1}> trace db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:437 witness_checkorder(ffffffff829323b0,9,0) at witness_checkorder+0x10b7 witness_debugger sys/kern/subr_witness.c:2502 [inline] witness_checkorder(ffffffff829323b0,9,0) at witness_checkorder+0x10b7 sys/kern/subr_witness.c:1105 rw_enter_write(ffffffff829323a0) at rw_enter_write+0x5b sys/kern/kern_rwlock.c:128 uvn_io(fffffd806aa9d108,ffff80002130a1d8,1,202,0) at uvn_io+0x418 sys/uvm/uvm_vnode.c:1245 uvn_get(fffffd806aa9d108,0,ffff80002130a298,ffff80002130a268,0,0,b073c1037bfcb435,1) at uvn_get+0x1df sys/uvm/uvm_vnode.c:1078 uvm_fault_lower(ffff80002130a400,ffff80002130a438,ffff80002130a380,0) at uvm_fault_lower+0x36c sys/uvm/uvm_fault.c:1275 uvm_fault(fffffd8073f80d08,20001000,0,2) at uvm_fault+0x248 kpageflttrap(ffff80002130a590,20001000) at kpageflttrap+0x209 kerntrap(ffff80002130a590) at kerntrap+0xef sys/arch/amd64/amd64/trap.c:318 alltraps_kern_meltdown() at alltraps_kern_meltdown+0x7b copyout() at copyout+0x53 pfioctl(4900,c0284457,ffff80002130aa00,1,ffff8000ffff27e8) at pfioctl+0x4516 sys/net/pf_ioctl.c:2932 VOP_IOCTL(fffffd806f686808,c0284457,ffff80002130aa00,1,fffffd807f7d7840,ffff8000ffff27e8) at VOP_IOCTL+0x96 sys/kern/vfs_vops.c:264 vn_ioctl(fffffd806c6705f0,c0284457,ffff80002130aa00,ffff8000ffff27e8) at vn_ioctl+0xbc sys/kern/vfs_vnops.c:531 sys_ioctl(ffff8000ffff27e8,ffff80002130ab18,ffff80002130ab70) at sys_ioctl+0x4a2 syscall(ffff80002130abe0) at syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] syscall(ffff80002130abe0) at syscall+0x489 sys/arch/amd64/amd64/trap.c:585 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7f7ffffdb2b0, count: -17 ddb{1}>