login: witness: lock order reversal: 1st 0xfffffd807e238a38 vmmaplk (&map->lock) 2nd 0xfffffd807dc95250 fdlock (&newfdp->fd_fd.fd_lock) lock order "&newfdp->fd_fd.fd_lock"(rwlock) -> "&map->lock"(rwlock) first seen at: #0 rw_enter_read+0x66 sys/kern/kern_rwlock.c:112 #1 uvmfault_lookup+0xd9 sys/uvm/uvm_fault.c:1758 #2 uvm_fault_check+0x3a sys/uvm/uvm_fault.c:674 #3 uvm_fault+0x102 sys/uvm/uvm_fault.c:602 #4 kpageflttrap+0x209 #5 kerntrap+0xef sys/arch/amd64/amd64/trap.c:318 #6 alltraps_kern_meltdown+0x7b #7 copyout+0x53 #8 syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] #8 syscall+0x489 sys/arch/amd64/amd64/trap.c:585 #9 Xsyscall+0x128 lock order "&map->lock"(rwlock) -> "&newfdp->fd_fd.fd_lock"(rwlock) first seen at: #0 rw_enter_write+0x5b sys/kern/kern_rwlock.c:128 #1 fill_file+0xad2 sys/kern/kern_sysctl.c:1304 #2 sysctl_file+0x62d sys/kern/kern_sysctl.c:1457 #3 kern_sysctl+0xfd sys/kern/kern_sysctl.c:449 #4 sys_sysctl+0x209 sys/kern/kern_sysctl.c:249 #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 Stopped at db_enter+0x18: 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+0x18 sys/arch/amd64/amd64/db_interface.c:440 witness_checkorder(fffffd807dc95250,9,0) at witness_checkorder+0x10b7 witness_debugger sys/kern/subr_witness.c:2502 [inline] witness_checkorder(fffffd807dc95250,9,0) at witness_checkorder+0x10b7 sys/kern/subr_witness.c:1105 rw_enter_write(fffffd807dc95240) at rw_enter_write+0x5b sys/kern/kern_rwlock.c:128 fill_file(ffff8000006cf400,fffffd807a03dd28,fffffd807dc951f8,0,0,ffff8000fffea160,69ba787b0f844ce3,4a00,0) at fill_file+0xad2 sys/kern/kern_sysctl.c:1304 sysctl_file(ffff8000264c2358,4,20000080,ffff8000264c2388,ffff8000fffecfd0) at sysctl_file+0x62d sys/kern/kern_sysctl.c:1457 kern_sysctl(ffff8000264c2354,5,20000080,ffff8000264c2388,0,0,2384a6bb3c825e4a) at kern_sysctl+0xfd sys/kern/kern_sysctl.c:449 sys_sysctl(ffff8000fffecfd0,ffff8000264c23f8,ffff8000264c2450) at sys_sysctl+0x209 sys/kern/kern_sysctl.c:249 syscall(ffff8000264c24c0) at syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] syscall(ffff8000264c24c0) at syscall+0x489 sys/arch/amd64/amd64/trap.c:585 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x1447a241af0, count: -9 ddb{0}> show registers rdi 0x3 rsi 0x40000 acpi_pdirpa+0x2be68 rbp 0xffff8000264c1cc0 rbx 0x3 rdx 0xffff800000bc8980 rcx 0 rax 0x3ffff acpi_pdirpa+0x2be67 r8 0xffff8000264c1c30 r9 0x8080808080808080 r10 0xeca50567521c500e r11 0x5c3b4b396a98821c r12 0xffffffff82aac440 w_lodata+0x4ead0 r13 0 r14 0xffffffff82aa5dd0 w_lodata+0x48460 r15 0xfffffd8002f62c80 rip 0xffffffff8138d658 db_enter+0x18 cs 0x8 rflags 0x246 rsp 0xffff8000264c1cb0 ss 0x10 db_enter+0x18: addq $0x8,%rsp ddb{0}> show proc PROC (syz-executor.4) pid=448305 stat=onproc flags process=10 proc=4000000 pri=32, usrpri=80, nice=20 forw=0xffffffffffffffff, list=0xffff8000fffed510,0xffffffff82b3d400 process=0xffff8000fffeba50 user=0xffff8000264bd000, vmspace=0xfffffd807e238a20 estcpu=36, cpticks=1, pctcpu=0.0 user=0, sys=0, intr=0 ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 84152 90251 42945 32767 2 0x10 syz-executor.4 *84152 448305 42945 32767 7 0x4000010 syz-executor.4 37852 302323 9683 32767 2 0x10 syz-executor.2 73201 339776 53569 32767 3 0x90 nanoslp syz-executor.1 73201 213364 53569 32767 3 0x4000090 fsleep syz-executor.1 73201 240474 53569 32767 3 0x4000090 fsleep syz-executor.1 73201 487730 53569 32767 2 0x4000010 syz-executor.1 39781 222645 21319 32767 2 0x10 syz-executor.3 39781 207761 21319 32767 3 0x4000090 fsleep syz-executor.3 99766 144966 1622 32767 3 0x90 nanoslp syz-executor.5 99766 504241 1622 32767 7 0x4000010 syz-executor.5 1622 226270 62513 32767 3 0x90 nanoslp syz-executor.5 62513 408546 3570 0 3 0x82 wait syz-executor.5 71708 253468 0 0 3 0x14200 bored sosplice 32017 305501 91584 32767 2 0x10 syz-executor.7 91584 262211 3570 0 3 0x82 wait syz-executor.7 24107 44438 70018 32767 3 0x90 nanoslp syz-executor.6 70018 231971 3570 0 3 0x82 wait syz-executor.6 21319 341775 6641 32767 2 0x10 syz-executor.3 42945 377941 99686 32767 3 0x90 nanoslp syz-executor.4 30162 257184 95748 32767 3 0x90 nanoslp syz-executor.0 6641 381559 3570 0 3 0x82 wait syz-executor.3 9683 473623 57456 32767 3 0x90 nanoslp syz-executor.2 99686 439734 3570 0 3 0x82 wait syz-executor.4 53569 98853 20366 32767 3 0x90 nanoslp syz-executor.1 57456 422626 3570 0 3 0x82 wait syz-executor.2 20366 336789 3570 0 3 0x82 wait syz-executor.1 95748 410303 3570 0 3 0x82 wait syz-executor.0 3570 523709 7132 0 3 0x82 thrsleep syz-fuzzer 3570 21835 7132 0 3 0x4000082 nanoslp syz-fuzzer 3570 232324 7132 0 3 0x4000082 thrsleep syz-fuzzer 3570 461892 7132 0 2 0x4000082 syz-fuzzer 3570 175273 7132 0 3 0x4000082 thrsleep syz-fuzzer 3570 372656 7132 0 3 0x4000082 thrsleep syz-fuzzer 3570 162939 7132 0 3 0x4000082 thrsleep syz-fuzzer 3570 247306 7132 0 3 0x4000082 thrsleep syz-fuzzer 3570 409623 7132 0 3 0x4000082 thrsleep syz-fuzzer 7132 343592 86725 0 3 0x10008a sigsusp ksh 86725 108855 57996 0 3 0x9a kqread sshd 1803 324153 1 0 3 0x100083 ttyin getty 57996 324785 1 0 3 0x88 kqread sshd 35548 355209 20479 73 3 0x1100090 kqread syslogd 20479 347132 1 0 3 0x100082 netio syslogd 93369 171944 1 0 3 0x100080 kqread resolvd 3908 505653 91761 77 3 0x100092 kqread dhcpleased 36768 359460 91761 77 3 0x100092 kqread dhcpleased 91761 405982 1 0 3 0x80 kqread dhcpleased 23661 415734 0 0 3 0x14200 bored smr 22842 501758 0 0 2 0x14200 zerothread 35171 463337 0 0 3 0x14200 aiodoned aiodoned 40950 33206 0 0 3 0x14200 syncer update 99565 418309 0 0 3 0x14200 cleaner cleaner 766 367981 0 0 3 0x14200 reaper reaper 34884 253072 0 0 3 0x14200 pgdaemon pagedaemon 57019 344326 0 0 3 0x14200 bored viomb 79310 352341 0 0 3 0x40014200 acpi0 acpi0 26009 81953 0 0 3 0x40014200 idle1 95692 281153 0 0 3 0x14200 bored softnet 28566 71708 0 0 3 0x14200 bored systqmp 80232 8838 0 0 3 0x14200 bored systq 88957 512253 0 0 3 0x40014200 bored softclock 93937 300810 0 0 3 0x40014200 idle0 1 387259 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{0}> show all locks Process 84152 (syz-executor.4) thread 0xffff8000fffecfd0 (448305) shared rwlock vmmaplk r = 0 (0xfffffd807e238a38) #0 witness_lock+0x44d #1 uvm_vslock+0xc8 sys/uvm/uvm_glue.c:129 #2 sys_sysctl+0x2d8 sys/kern/kern_sysctl.c:240 #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 exclusive rwlock sysctllk r = 0 (0xffffffff82941f10) #0 witness_lock+0x44d #1 rw_enter+0x3e1 sys/kern/kern_rwlock.c:310 #2 sys_sysctl+0x1b3 sys/kern/kern_sysctl.c:233 #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 exclusive kernel_lock &kernel_lock r = 0 (0xffffffff829de988) #0 witness_lock+0x44d #1 syscall+0x3ef mi_syscall sys/sys/syscall_mi.h:93 [inline] #1 syscall+0x3ef sys/arch/amd64/amd64/trap.c:585 #2 Xsyscall+0x128 Process 99766 (syz-executor.5) thread 0xffff8000fffec010 (504241) exclusive rwlock pipelk r = 0 (0xfffffd80696dfd10) #0 witness_lock+0x44d #1 pipe_write+0x37d sys/kern/sys_pipe.c:574 #2 dofilewritev+0x19c sys/kern/sys_generic.c:381 #3 sys_write+0x83 sys/kern/sys_generic.c:301 #4 syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] #4 syscall+0x489 sys/arch/amd64/amd64/trap.c:585 #5 Xsyscall+0x128 ddb{0}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10174 6407K 6419K 78643K 11270 0 pcb 13 10K 12K 78643K 15 0 rtable 248 7K 7K 78643K 469 0 ifaddr 81 16K 16K 78643K 96 0 sysctl 0 0K 0K 78643K 4 0 counters 56 35K 35K 78643K 60 0 ioctlops 0 0K 2K 78643K 143 0 iov 0 0K 20K 78643K 142 0 mount 1 1K 1K 78643K 1 0 log 0 0K 0K 78643K 5 0 vnodes 1270 79K 79K 78643K 1332 0 UFS quota 1 32K 32K 78643K 1 0 UFS mount 5 36K 36K 78643K 5 0 shm 2 1K 5K 78643K 20 0 VM map 2 1K 1K 78643K 2 0 sem 12 0K 0K 78643K 677 0 dirhash 12 2K 2K 78643K 12 0 ACPI 1697 195K 286K 78643K 12548 0 file desc 23 85K 121K 78643K 2427 0 sigio 0 0K 0K 78643K 16 0 proc 56 74K 99K 78643K 581 0 subproc 104 6K 6K 78643K 130 0 NFS srvsock 1 0K 0K 78643K 1 0 NFS daemon 1 16K 16K 78643K 1 0 ip_moptions 0 0K 0K 78643K 131 0 in_multi 99 6K 6K 78643K 142 0 ether_multi 1 0K 0K 78643K 10 0 mrt 2 0K 0K 78643K 2 0 ISOFS mount 1 32K 32K 78643K 1 0 MSDOSFS mount 1 16K 16K 78643K 1 0 ttys 61 281K 281K 78643K 61 0 exec 0 0K 2K 78643K 793 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 337 85K 99K 78643K 31840 0 UVM aobj 128 3K 3K 78643K 128 0 memdesc 1 4K 4K 78643K 1 0 crypto data 1 1K 1K 78643K 1 0 ip6_options 0 0K 0K 78643K 116 0 NDP 11 0K 2K 78643K 33 0 temp 126 4708K 4779K 78643K 9232 0 kqueue 12 18K 22K 78643K 125 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 126 0 123 2 1 1 2 0 8 0 rtentry 112 140 0 25 4 0 4 4 0 8 0 unpcb 136 3302 0 3281 19 17 2 8 0 8 1 syncache 296 21 0 21 4 4 0 1 0 8 0 tcpqe 32 168 0 168 2 2 0 1 0 8 0 tcpcb 736 676 0 672 21 20 1 8 0 8 0 arp 120 23 0 4 1 0 1 1 0 8 0 ipq 40 1 0 1 1 1 0 1 0 8 0 ipqe 40 3 0 3 1 1 0 1 0 8 0 inpcb 304 1571 0 1561 24 23 1 9 0 8 0 rttmr 72 3 0 2 1 0 1 1 0 8 0 ip6q 72 8 0 5 1 0 1 1 0 8 0 ip6af 40 12 0 9 1 0 1 1 0 8 0 nd6 48 35 0 8 1 0 1 1 0 8 0 kcovpl 48 10 0 2 1 0 1 1 0 8 0 art_heap8 4096 1 0 0 1 0 1 1 0 8 0 art_heap4 256 589 0 92 32 0 32 32 0 8 0 art_table 32 590 0 92 5 0 5 5 0 8 0 art_node 16 139 0 34 1 0 1 1 0 8 0 sysvmsgpl 40 53 0 43 1 0 1 1 0 8 0 semapl 112 675 0 665 1 0 1 1 0 8 0 shmpl 112 125 0 0 4 0 4 4 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 3941 0 2508 90 0 90 90 0 8 0 ffsino 272 3941 0 2508 96 0 96 96 0 8 0 nchpl 144 7247 0 5621 62 0 62 62 0 8 0 uvmvnodes 80 4080 0 0 84 0 84 84 0 8 0 vnodes 224 4080 0 0 240 0 240 240 0 8 0 namei 1024 20375 0 20375 2 1 1 2 0 8 1 percpumem 16 42 0 2 1 0 1 1 0 8 0 scxspl 216 20363 0 20363 9 8 1 7 0 8 1 plimitpl 152 174 0 152 2 1 1 2 0 8 0 sigapl 424 2699 0 2648 7 0 7 7 0 8 0 futexpl 64 16236 0 16233 1 0 1 1 0 8 0 knotepl 120 132 0 0 4 0 4 4 0 8 0 kqueuepl 216 301 0 293 5 4 1 5 0 8 0 pipepl 336 466 0 437 8 5 3 8 0 8 0 fdescpl 496 2684 0 2650 7 1 6 6 0 8 0 filepl 152 13087 0 12843 32 21 11 18 0 8 1 lockfpl 104 181 0 179 1 0 1 1 0 8 0 lockfspl 48 49 0 47 1 0 1 1 0 8 0 sessionpl 144 25 0 9 1 0 1 1 0 8 0 pgrppl 48 25 0 9 1 0 1 1 0 8 0 ucredpl 96 697 0 679 1 0 1 1 0 8 0 zombiepl 144 2650 0 2648 1 0 1 1 0 8 0 processpl 1064 2699 0 2648 5 1 4 4 0 8 0 procpl 672 6658 0 6593 10 4 6 8 0 8 0 sosppl 168 153 0 153 3 2 1 1 0 8 1 sockpl 480 5023 0 4989 98 88 10 29 0 8 5 mcl64k 65536 13 0 0 2 0 2 2 0 8 0 mcl16k 16384 5 0 0 1 0 1 1 0 8 0 mcl12k 12288 17 0 0 2 0 2 2 0 8 0 mcl9k 9216 7 0 0 1 0 1 1 0 8 0 mcl8k 8192 13 0 0 2 0 2 2 0 8 0 mcl4k 4096 17 0 0 3 0 3 3 0 8 0 mcl2k2 2112 8 0 0 1 0 1 1 0 8 0 mcl2k 2048 163 0 0 20 1 19 20 0 8 0 mtagpl 96 1 0 0 1 0 1 1 0 8 0 mbufpl 256 399 0 0 22 0 22 22 0 8 0 bufpl 288 6177 0 139 432 0 432 432 0 8 0 anonpl 24 691754 0 675315 130 30 100 112 0 186 0 amapchunkpl 152 76698 0 75913 55 21 34 46 0 158 2 amappl16 200 6099 0 5584 45 17 28 31 0 8 0 amappl15 192 969 0 960 1 0 1 1 0 8 0 amappl14 184 305 0 300 1 0 1 1 0 8 0 amappl13 176 375 0 372 1 0 1 1 0 8 0 amappl12 168 301 0 299 1 0 1 1 0 8 0 amappl11 160 46 0 33 1 0 1 1 0 8 0 amappl10 152 619 0 611 1 0 1 1 0 8 0 amappl9 144 601 0 599 1 0 1 1 0 8 0 amappl8 136 822 0 754 3 0 3 3 0 8 0 amappl7 128 293 0 277 1 0 1 1 0 8 0 amappl6 120 321 0 301 2 1 1 2 0 8 0 amappl5 112 2533 0 2510 1 0 1 1 0 8 0 amappl4 104 1141 0 1109 2 0 2 2 0 8 0 amappl3 96 588 0 573 1 0 1 1 0 8 0 amappl2 88 1156 0 1111 3 1 2 3 0 8 0 amappl1 80 50271 0 49654 18 3 15 18 0 8 0 amappl 88 31327 0 31069 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 127 0 0 3 0 3 3 0 8 0 uaddrrnd 24 2684 0 2650 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 2684 0 2650 1 0 1 1 0 8 0 vmmpekpl 168 22326 0 22275 3 0 3 3 0 8 0 vmmpepl 168 242388 0 239697 143 20 123 130 0 357 0 vmsppl 368 2683 0 2650 4 0 4 4 0 8 0 rwobjpl 56 62737 0 57072 82 2 80 80 0 8 0 pdppl 4096 5375 0 5300 135 54 81 93 0 8 6 pvpl 32 1244902 0 1223328 264 88 176 246 0 265 1 pmappl 248 2683 0 2650 4 1 3 3 0 8 0 extentpl 40 58 0 38 1 0 1 1 0 8 0 phpool 112 877 0 83 23 0 23 23 0 8 0 ddb{0}> machine ddbcpu 0 Invalid cpu 0 ddb{0}> trace db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:440 witness_checkorder(fffffd807dc95250,9,0) at witness_checkorder+0x10b7 witness_debugger sys/kern/subr_witness.c:2502 [inline] witness_checkorder(fffffd807dc95250,9,0) at witness_checkorder+0x10b7 sys/kern/subr_witness.c:1105 rw_enter_write(fffffd807dc95240) at rw_enter_write+0x5b sys/kern/kern_rwlock.c:128 fill_file(ffff8000006cf400,fffffd807a03dd28,fffffd807dc951f8,0,0,ffff8000fffea160,69ba787b0f844ce3,4a00,0) at fill_file+0xad2 sys/kern/kern_sysctl.c:1304 sysctl_file(ffff8000264c2358,4,20000080,ffff8000264c2388,ffff8000fffecfd0) at sysctl_file+0x62d sys/kern/kern_sysctl.c:1457 kern_sysctl(ffff8000264c2354,5,20000080,ffff8000264c2388,0,0,2384a6bb3c825e4a) at kern_sysctl+0xfd sys/kern/kern_sysctl.c:449 sys_sysctl(ffff8000fffecfd0,ffff8000264c23f8,ffff8000264c2450) at sys_sysctl+0x209 sys/kern/kern_sysctl.c:249 syscall(ffff8000264c24c0) at syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] syscall(ffff8000264c24c0) at syscall+0x489 sys/arch/amd64/amd64/trap.c:585 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x1447a241af0, count: -9 ddb{0}> machine ddbcpu 1 Stopped at x86_ipi_db+0x1a: addq $0x8,%rsp ddb{1}> trace x86_ipi_db(ffff800020ce8ff0) 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 __sanitizer_cov_trace_pc() at __sanitizer_cov_trace_pc+0x28 kd_curproc sys/dev/kcov.c:577 [inline] __sanitizer_cov_trace_pc() at __sanitizer_cov_trace_pc+0x28 sys/dev/kcov.c:148 __mp_lock(ffffffff829de780) at __mp_lock+0x133 __mp_lock_spin sys/kern/kern_lock.c:116 [inline] __mp_lock(ffffffff829de780) at __mp_lock+0x133 sys/kern/kern_lock.c:147 sleep_setup(ffff80002e368a80,fffffd80696dfc70,110,ffffffff8260575f,0) at sleep_setup+0xd3 sys/kern/kern_synch.c:374 rwsleep(fffffd80696dfc70,fffffd80696dfd00,110,ffffffff8260575f,0) at rwsleep+0xc0 sys/kern/kern_synch.c:315 pipe_iosleep(fffffd80696dfc70,ffffffff8260575f) at pipe_iosleep+0xb6 sys/kern/sys_pipe.c:365 pipe_write(fffffd807a03dd28,ffff80002e368c98,0) at pipe_write+0x600 sys/kern/sys_pipe.c:630 dofilewritev(ffff8000fffec010,5,ffff80002e368c98,0,ffff80002e368d90) at dofilewritev+0x19c sys/kern/sys_generic.c:381 sys_write(ffff8000fffec010,ffff80002e368d38,ffff80002e368d90) at sys_write+0x83 sys/kern/sys_generic.c:301 syscall(ffff80002e368e00) at syscall+0x489 mi_syscall sys/sys/syscall_mi.h:102 [inline] syscall(ffff80002e368e00) at syscall+0x489 sys/arch/amd64/amd64/trap.c:585 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x24799b4a390, count: -13