witness: lock order reversal: 1st 0xffffffff82d0ad08 &sched_lock (&sched_lock) 2nd 0xffff80002613ef38 &pr->ps_mtx (&pr->ps_mtx) lock order "&pr->ps_mtx"(mutex) -> "&sched_lock"(sched_lock) first seen at: #0 __mp_lock+0xa2 read_rflags machine/cpufunc.h:195 [inline] #0 __mp_lock+0xa2 intr_disable machine/cpufunc.h:216 [inline] #0 __mp_lock+0xa2 sys/kern/kern_lock.c:142 #1 donice+0x178 sys/kern/kern_resource.c:218 #2 syscall+0x5e2 mi_syscall sys/sys/syscall_mi.h:110 [inline] #2 syscall+0x5e2 sys/arch/amd64/amd64/trap.c:623 #3 Xsyscall+0x128 lock order "&sched_lock"(sched_lock) -> "&pr->ps_mtx"(mutex) first seen at: #0 mtx_enter+0x3e sys/kern/kern_lock.c:265 #1 single_thread_set+0x35a single_thread_wait sys/kern/kern_sig.c:2172 [inline] #1 single_thread_set+0x35a sys/kern/kern_sig.c:2155 #2 sigexit+0x90 sys/kern/kern_sig.c:1562 #3 postsig+0x4a9 sys/kern/kern_sig.c:1494 #4 userret+0x16e sys/kern/kern_sig.c:1987 #5 syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] #5 syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 #6 Xsyscall+0x128 Stopped at db_enter+0x1c: 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+0x1c sys/arch/amd64/amd64/db_interface.c:437 witness_checkorder(ffff80002613ef38,9,0) at witness_checkorder+0x10b7 witness_debugger sys/kern/subr_witness.c:2510 [inline] witness_checkorder(ffff80002613ef38,9,0) at witness_checkorder+0x10b7 sys/kern/subr_witness.c:1110 mtx_enter(ffff80002613ef28) at mtx_enter+0x3e sys/kern/kern_lock.c:265 single_thread_set(ffff8000211d9010,0,1) at single_thread_set+0x35a single_thread_wait sys/kern/kern_sig.c:2172 [inline] single_thread_set(ffff8000211d9010,0,1) at single_thread_set+0x35a sys/kern/kern_sig.c:2155 sigexit(ffff8000211d9010,6) at sigexit+0x90 sys/kern/kern_sig.c:1562 postsig(ffff8000211d9010,6,ffff800022cefbf8) at postsig+0x4a9 sys/kern/kern_sig.c:1494 userret(ffff8000211d9010) at userret+0x16e sys/kern/kern_sig.c:1987 syscall(ffff800022cefd30) at syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] syscall(ffff800022cefd30) at syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x41ceb7a4700, count: -9 ddb{0}> show registers rdi 0x3 rsi 0x40000 acpi_pdirpa+0x2be63 rbp 0xffff800022cef900 rbx 0x3 rdx 0xffff800000d1d200 rcx 0xffff8000211d9010 rax 0x3ffff acpi_pdirpa+0x2be62 r8 0xffff800022cef870 r9 0x8080808080808080 r10 0x4c472c2b62dc0eb5 r11 0x4e54dc3bafd98b86 r12 0xfffffd8003a0a900 r13 0 r14 0xfffffd80039f80b0 r15 0xfffffd80031c7bc0 rip 0xffffffff81334fdc db_enter+0x1c cs 0x8 rflags 0x246 rsp 0xffff800022cef8f0 ss 0x10 db_enter+0x1c: addq $0x8,%rsp ddb{0}> show proc PROC (syz-executor.4) pid=373892 stat=onproc flags process=500010 proc=4002000 pri=32, usrpri=86, nice=20 forw=0xffffffffffffffff, list=0xffff8000211d9d58,0xffffffff82c89948 process=0xffff80002613ee28 user=0xffff800022cea000, vmspace=0xfffffd80699a4760 estcpu=36, cpticks=0, pctcpu=0.0 user=0, sys=0, intr=0 ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 45015 129635 29453 32767 4 0x582010 syz-executor.4 *45015 373892 29453 32767 7 0x4502010 syz-executor.4 80646 432374 49587 32767 3 0x90 nanoslp syz-executor.5 80646 282157 49587 32767 3 0x4000090 fsleep syz-executor.5 79601 21925 38772 32767 3 0x90 nanoslp syz-executor.2 79601 518169 38772 32767 3 0x4000090 ttyout syz-executor.2 26710 89719 89291 32767 3 0x90 nanoslp syz-executor.6 26710 491021 89291 32767 3 0x4000090 lockf syz-executor.6 26710 309372 89291 32767 3 0x4000090 fsleep syz-executor.6 39711 59297 25401 32767 3 0x90 nanoslp syz-executor.3 39711 471436 25401 32767 3 0x4000090 lockf syz-executor.3 39711 438467 25401 32767 3 0x4000090 fsleep syz-executor.3 94810 332969 76982 32767 3 0x90 nanoslp syz-executor.0 94810 394363 76982 32767 3 0x4000090 lockf syz-executor.0 94810 255274 76982 32767 3 0x4000090 fsleep syz-executor.0 94810 322259 76982 32767 3 0x4000090 fsleep syz-executor.0 76982 435466 4280 32767 3 0x90 nanoslp syz-executor.0 4280 490488 97430 0 3 0x82 wait syz-executor.0 49587 86239 87219 32767 3 0x90 nanoslp syz-executor.5 87219 305284 97430 0 3 0x82 wait syz-executor.5 38772 490890 82412 32767 3 0x90 nanoslp syz-executor.2 82412 509237 97430 0 3 0x82 wait syz-executor.2 27455 10019 0 0 3 0x14200 bored sosplice 77298 437412 56842 32767 3 0x90 nanoslp syz-executor.7 56842 431736 97430 0 3 0x82 wait syz-executor.7 29453 144411 36537 32767 3 0x90 nanoslp syz-executor.4 25401 224223 48916 32767 3 0x90 nanoslp syz-executor.3 36537 263202 97430 0 3 0x82 wait syz-executor.4 48916 80129 97430 0 3 0x82 wait syz-executor.3 89291 501230 30366 32767 3 0x90 nanoslp syz-executor.6 30366 265479 97430 0 3 0x82 wait syz-executor.6 38108 214791 57820 32767 3 0x90 nanoslp syz-executor.1 57820 380334 97430 0 3 0x82 wait syz-executor.1 97430 185569 60596 0 3 0x2000082 wait syz-fuzzer 97430 267194 60596 0 3 0x6000082 thrsleep syz-fuzzer 97430 34596 60596 0 3 0x6000082 thrsleep syz-fuzzer 97430 430531 60596 0 3 0x6000082 wait syz-fuzzer 97430 373403 60596 0 3 0x6000082 wait syz-fuzzer 97430 365174 60596 0 3 0x6000082 thrsleep syz-fuzzer 97430 170848 60596 0 3 0x6000082 thrsleep syz-fuzzer 97430 415102 60596 0 3 0x6000082 wait syz-fuzzer 97430 42234 60596 0 3 0x6000082 wait syz-fuzzer 97430 139589 60596 0 3 0x6000082 thrsleep syz-fuzzer 97430 15299 60596 0 3 0x6000082 thrsleep syz-fuzzer 97430 411553 60596 0 3 0x6000082 wait syz-fuzzer 97430 269708 60596 0 3 0x6000082 wait syz-fuzzer 97430 300918 60596 0 3 0x6000082 wait syz-fuzzer 97430 286397 60596 0 3 0x6000082 thrsleep syz-fuzzer 97430 190949 60596 0 3 0x6000082 kqread syz-fuzzer 60596 45173 77237 0 3 0x10008a sigsusp ksh 77237 426571 72517 0 3 0x9a kqread sshd 81281 485372 1 0 3 0x100083 ttyin getty 72517 477956 1 0 3 0x88 kqread sshd 13807 192178 24634 73 3 0x1100090 kqread syslogd 24634 95873 1 0 3 0x100082 netio syslogd 45724 113275 1 0 3 0x100080 kqread resolvd 698 205078 58361 77 3 0x100092 kqread dhcpleased 32501 320611 58361 77 3 0x100092 kqread dhcpleased 58361 113085 1 0 3 0x80 kqread dhcpleased 8867 151729 0 0 3 0x14200 bored smr 58615 421259 0 0 7 0x14200 zerothread 48842 347539 0 0 3 0x14200 aiodoned aiodoned 39894 451501 0 0 3 0x14200 syncer update 77599 478365 0 0 3 0x14200 cleaner cleaner 15166 169082 0 0 3 0x14200 reaper reaper 49600 389692 0 0 3 0x14200 pgdaemon pagedaemon 16873 508906 0 0 3 0x14200 bored viomb 65609 19827 0 0 3 0x40014200 acpi0 acpi0 57283 40900 0 0 3 0x40014200 idle1 20806 429963 0 0 3 0x14200 bored softnet3 56706 472249 0 0 3 0x14200 bored softnet2 62088 49627 0 0 3 0x14200 bored softnet1 87287 477063 0 0 3 0x14200 bored softnet0 62084 166880 0 0 3 0x14200 bored systqmp 59408 354891 0 0 3 0x14200 bored systq 8931 461965 0 0 3 0x40014200 bored softclock 69325 519926 0 0 3 0x40014200 idle0 1 152381 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{0}> show all locks CPU 0: exclusive sched_lock &sched_lock r = 0 (0xffffffff82d0ad08) #0 witness_lock+0x447 #1 single_thread_set+0x179 sys/kern/kern_sig.c:2113 #2 sigexit+0x90 sys/kern/kern_sig.c:1562 #3 postsig+0x4a9 sys/kern/kern_sig.c:1494 #4 userret+0x16e sys/kern/kern_sig.c:1987 #5 syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] #5 syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 #6 Xsyscall+0x128 Process 45015 (syz-executor.4) thread 0xffff8000211d9010 (373892) exclusive kernel_lock &kernel_lock r = 0 (0xffffffff82c795f0) #0 witness_lock+0x447 #1 postsig+0x49e sys/kern/kern_sig.c:1500 #2 userret+0x16e sys/kern/kern_sig.c:1987 #3 syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] #3 syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 #4 Xsyscall+0x128 exclusive sched_lock &sched_lock r = 0 (0xffffffff82d0ad08) #0 witness_lock+0x447 #1 single_thread_set+0x179 sys/kern/kern_sig.c:2113 #2 sigexit+0x90 sys/kern/kern_sig.c:1562 #3 postsig+0x4a9 sys/kern/kern_sig.c:1494 #4 userret+0x16e sys/kern/kern_sig.c:1987 #5 syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] #5 syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 #6 Xsyscall+0x128 ddb{0}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10203 6410K 6420K 78643K 11303 0 pcb 13 10K 12K 78643K 15 0 rtable 246 7K 7K 78643K 884 0 pf 29 8K 8K 78643K 43 0 ifaddr 44 15K 15K 78643K 76 0 ifgroup 50 2K 2K 78643K 78 0 sysctl 2 0K 0K 78643K 2 0 counters 60 35K 35K 78643K 74 0 ioctlops 0 0K 2K 78643K 175 0 iov 0 0K 16K 78643K 580 0 mount 1 1K 1K 78643K 1 0 log 0 0K 0K 78643K 4 0 vnodes 1279 80K 80K 78643K 5539 0 UFS quota 1 32K 32K 78643K 1 0 UFS mount 5 36K 36K 78643K 5 0 shm 3 5K 5K 78643K 112 0 VM map 2 1K 1K 78643K 2 0 sem 10 0K 1K 78643K 15 0 dirhash 12 2K 2K 78643K 12 0 ACPI 1697 195K 286K 78643K 12548 0 file desc 24 89K 117K 78643K 7367 0 sigio 0 0K 0K 78643K 643 0 proc 56 78K 103K 78643K 1163 0 subproc 104 6K 6K 78643K 195 0 NFS srvsock 1 0K 0K 78643K 1 0 NFS daemon 1 16K 16K 78643K 1 0 ip_moptions 0 0K 0K 78643K 331 0 in_multi 99 7K 7K 78643K 220 0 ether_multi 1 0K 0K 78643K 5 0 ISOFS mount 1 32K 32K 78643K 1 0 MSDOSFS mount 1 16K 16K 78643K 1 0 ttys 157 705K 705K 78643K 157 0 exec 0 0K 1K 78643K 840 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 8 62K 64K 78643K 10 0 UVM amap 443 92K 102K 78643K 75484 0 UVM aobj 131 4K 5K 78643K 137 0 memdesc 1 4K 4K 78643K 1 0 crypto data 1 1K 1K 78643K 1 0 ip6_options 2 0K 0K 78643K 233 0 NDP 11 0K 2K 78643K 48 0 temp 74 5916K 6044K 78643K 20820 0 kqueue 12 18K 32K 78643K 749 0 SYN cache 2 16K 16K 78643K 2 0 ddb{0}> 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 412 0 409 8 7 1 3 0 8 0 rtentry 112 205 0 89 4 0 4 4 0 8 0 unpcb 144 5088 0 5075 68 62 6 10 0 8 5 syncache 304 80 0 80 25 25 0 1 0 8 0 sackhl 24 1 0 1 1 1 0 1 0 8 0 tcpqe 32 207 0 207 15 15 0 1 0 8 0 tcpcb 808 3720 0 3698 92 89 3 15 0 8 0 arp 120 34 0 15 1 0 1 1 0 8 0 ipq 40 8 0 7 6 5 1 1 0 8 0 ipqe 40 28 0 27 6 5 1 1 0 8 0 inpcb 368 5834 0 5806 116 107 9 14 0 8 5 nd6 136 60 0 31 3 1 2 2 0 8 0 kcovpl 48 15 0 7 1 0 1 1 0 8 0 art_heap8 4096 1 0 0 1 0 1 1 0 8 0 art_heap4 256 851 0 375 33 3 30 31 0 8 0 art_table 32 852 0 375 4 0 4 4 0 8 0 art_node 16 204 0 98 1 0 1 1 0 8 0 sysvmsgpl 40 16 0 10 1 0 1 1 0 8 0 semupl 112 4 0 4 2 2 0 1 0 8 0 semapl 112 8 0 0 1 0 1 1 0 8 0 shmpl 112 134 0 6 4 0 4 4 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 13926 0 12466 92 0 92 92 0 8 0 ffsino 272 13926 0 12466 98 0 98 98 0 8 0 nchpl 144 23546 0 21898 63 0 63 63 0 8 0 uvmvnodes 80 5926 0 0 121 0 121 121 0 8 0 vnodes 216 5926 0 0 330 0 330 330 0 8 0 namei 1024 85222 0 85222 3 2 1 2 0 8 1 percpumem 16 50 0 7 1 0 1 1 0 8 0 kstatmem 264 36 0 14 2 0 2 2 0 8 0 scxspl 216 72984 0 72984 33 32 1 8 1 8 1 plimitpl 152 1284 0 1261 14 13 1 2 0 8 0 sigapl 424 7647 0 7592 7 0 7 7 0 8 0 futexpl 64 58493 0 58488 3 2 1 1 0 8 0 knotepl 120 820 0 0 14 3 11 12 0 8 0 kqueuepl 216 1654 0 1646 36 35 1 5 0 8 0 pipepl 320 1938 0 1908 52 46 6 15 0 8 3 fdescpl 496 7629 0 7594 7 2 5 6 0 8 0 filepl 152 59600 0 59356 154 137 17 22 0 8 6 lockfpl 104 3139 0 3133 1 0 1 1 0 8 0 lockfspl 48 1026 0 1023 1 0 1 1 0 8 0 sessionpl 144 30 0 14 1 0 1 1 0 8 0 pgrppl 48 137 0 121 1 0 1 1 0 8 0 ucredpl 104 19818 0 19800 1 0 1 1 0 8 0 zombiepl 144 7594 0 7592 1 0 1 1 0 8 0 processpl 1072 7647 0 7592 4 0 4 4 0 8 0 procpl 680 21288 0 21208 35 27 8 8 0 8 0 sosppl 168 87 0 84 15 14 1 1 0 8 0 sockpl 488 11503 0 11462 295 281 14 34 0 8 8 mcl64k 65536 17 0 0 3 0 3 3 0 8 0 mcl16k 16384 26 0 0 4 1 3 3 0 8 0 mcl12k 12288 19 0 0 2 0 2 2 0 8 0 mcl9k 9216 16 0 0 2 0 2 2 0 8 0 mcl8k 8192 25 0 0 4 1 3 3 0 8 0 mcl4k 4096 44 0 0 3 0 3 3 0 8 0 mcl2k2 2112 7 0 0 1 0 1 1 0 8 0 mcl2k 2048 422 0 0 38 24 14 38 0 8 0 mtagpl 96 17 0 0 1 0 1 1 0 8 0 mbufpl 256 2122 0 0 109 0 109 109 0 8 0 bufpl 288 16696 0 10368 453 0 453 453 0 8 0 anonpl 24 925368 0 913973 187 92 95 104 0 186 0 amapchunkpl 152 241453 0 240528 136 97 39 50 0 158 1 amappl16 200 21189 0 20887 128 106 22 29 0 8 6 amappl15 192 25 0 23 1 0 1 1 0 8 0 amappl14 184 171 0 158 2 1 1 2 0 8 0 amappl13 176 15 0 15 1 1 0 1 0 8 0 amappl12 168 8381 0 8339 2 0 2 2 0 8 0 amappl11 160 56 0 46 1 0 1 1 0 8 0 amappl10 152 36 0 25 1 0 1 1 0 8 0 amappl9 144 335 0 335 17 17 0 1 0 8 0 amappl8 136 775 0 623 6 0 6 6 0 8 0 amappl7 128 104 0 90 2 0 2 2 0 8 0 amappl6 120 381 0 351 2 1 1 2 0 8 0 amappl5 112 375 0 366 1 0 1 1 0 8 0 amappl4 104 863 0 821 3 0 3 3 0 8 0 amappl3 96 46667 0 46566 6 3 3 4 0 8 0 amappl2 88 8161 0 8083 3 1 2 3 0 8 0 amappl1 80 35203 0 34669 23 10 13 22 0 8 0 amappl 88 74585 0 74313 7 0 7 7 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 136 0 6 3 0 3 3 0 8 0 uaddrrnd 24 7629 0 7594 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 7629 0 7594 1 0 1 1 0 8 0 vmmpekpl 168 62010 0 61956 3 0 3 3 0 8 0 vmmpepl 168 459649 0 457144 255 135 120 131 0 357 4 vmsppl 464 7628 0 7594 7 2 5 6 0 8 0 rwobjpl 56 126543 0 119059 122 13 109 109 0 8 0 pdppl 4096 15266 0 15188 422 340 82 92 0 8 4 pvpl 32 2447706 0 2429834 523 345 178 355 0 265 7 pmappl 248 7628 0 7594 4 1 3 3 0 8 0 extentpl 40 56 0 38 1 0 1 1 0 8 0 phpool 112 1512 0 596 27 0 27 27 0 8 0 ddb{0}> machine ddbcpu 0 Invalid cpu 0 ddb{0}> trace db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437 witness_checkorder(ffff80002613ef38,9,0) at witness_checkorder+0x10b7 witness_debugger sys/kern/subr_witness.c:2510 [inline] witness_checkorder(ffff80002613ef38,9,0) at witness_checkorder+0x10b7 sys/kern/subr_witness.c:1110 mtx_enter(ffff80002613ef28) at mtx_enter+0x3e sys/kern/kern_lock.c:265 single_thread_set(ffff8000211d9010,0,1) at single_thread_set+0x35a single_thread_wait sys/kern/kern_sig.c:2172 [inline] single_thread_set(ffff8000211d9010,0,1) at single_thread_set+0x35a sys/kern/kern_sig.c:2155 sigexit(ffff8000211d9010,6) at sigexit+0x90 sys/kern/kern_sig.c:1562 postsig(ffff8000211d9010,6,ffff800022cefbf8) at postsig+0x4a9 sys/kern/kern_sig.c:1494 userret(ffff8000211d9010) at userret+0x16e sys/kern/kern_sig.c:1987 syscall(ffff800022cefd30) at syscall+0x4e7 mi_syscall_return sys/sys/syscall_mi.h:137 [inline] syscall(ffff800022cefd30) at syscall+0x4e7 sys/arch/amd64/amd64/trap.c:644 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x41ceb7a4700, count: -9 ddb{0}> machine ddbcpu 1 Stopped at x86_ipi_db+0x1e: addq $0x8,%rsp ddb{1}> trace x86_ipi_db(ffff800020d58ff0) at x86_ipi_db+0x1e 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+0x27 __mp_lock(ffffffff82d0ab00) at __mp_lock+0x129 __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff82d0ab00) at __mp_lock+0x129 sys/kern/kern_lock.c:147 yield() at yield+0x37 sys/kern/sched_bsd.c:321 uvm_pagezero_thread(ffff8000211b22b0) at uvm_pagezero_thread+0x6d sys/uvm/uvm_pmemrange.c:2170 end trace frame: 0x0, count: -6