witness: lock order reversal: 1st 0xffff8000014433c0 sbufrcv (&so->so_rcv.sb_lock) 2nd 0xfffffd80643dded8 inode (&ip->i_lock) lock order [1] sbufrcv (&so->so_rcv.sb_lock) -> [2] inode (&ip->i_lock) lock order data 0xffffffff8343fb6e -> 0xffffffff833a68ec is missing lock order [2] inode (&ip->i_lock) -> [1] sbufrcv (&so->so_rcv.sb_lock) #0 rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:233 #1 sblock+0xb7 sys/kern/uipc_socket2.c:536 #2 soreceive+0x28e sys/kern/uipc_socket.c:882 #3 fifo_read+0x11a sys/miscfs/fifofs/fifo_vnops.c:264 #4 VOP_READ+0x102 sys/kern/vfs_vops.c:227 #5 vn_rdwr+0x15b #6 vndsetcred+0xa1 sys/dev/vnd.c:684 #7 vndioctl+0xe6c sys/dev/vnd.c:485 #8 VOP_IOCTL+0xac sys/kern/vfs_vops.c:264 #9 vn_ioctl+0xf8 sys/kern/vfs_vnops.c:531 #10 sys_ioctl+0x5c3 #11 syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] #11 syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 #12 Xsyscall+0x128 Stopped at db_enter+0x25: 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+0x25 sys/arch/amd64/amd64/db_interface.c:438 witness_checkorder(fffffd80643dded8,9,0) at witness_checkorder+0x1047 rw_do_enter_write(fffffd80643ddec0,1) at rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:233 rrw_enter(fffffd80643ddec0,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:616 VOP_LOCK(fffffd805dbead98,2001) at VOP_LOCK+0xa6 sys/kern/vfs_vops.c:524 vn_lock(fffffd805dbead98,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vfs_getcwd_common(fffffd805dbead98,fffffd8064475608,0,0,200,0,f7b8494948a8fa5d) at vfs_getcwd_common+0xd1 sys/kern/vfs_getcwd.c:287 vn_isunder(fffffd805dbead98,fffffd8064475608,ffff80002a339220) at vn_isunder+0x56 sys/kern/vfs_vnops.c:694 unp_externalize(fffffd807eb93600,33,0) at unp_externalize+0x286 sys/kern/uipc_usrreq.c:1086 soreceive(ffff8000014432e0,ffff80002f0aa038,ffff80002f0a9fe8,0,ffff80002f0aa028,ffff80002f0aa1ac,9acc5ffa04a260e3) at soreceive+0xc73 sys/kern/uipc_socket.c:1021 recvit(ffff80002a339220,7,ffff80002f0aa180,0,ffff80002f0aa230) at recvit+0x40a sys/kern/uipc_syscalls.c:1072 sys_recvmsg(ffff80002a339220,ffff80002f0aa2e0,ffff80002f0aa230) at sys_recvmsg+0x1bf sys/kern/uipc_syscalls.c:872 syscall(ffff80002f0aa2e0) at syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80002f0aa2e0) at syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x818c06df770, count: -14 ddb{0}> show registers rdi 0 rsi 0x80000 acpi_pdirpa+0x6be71 rbp 0xffff80002f0a9ac0 rbx 0xfffffd8004708cf0 rdx 0xffff80000145b740 rcx 0xffff80002a339220 rax 0x7ffff acpi_pdirpa+0x6be70 r8 0xffff80002f0a99a0 r9 0x8080808080808080 r10 0x381440db227ae8f7 r11 0xd44679495ebb61be r12 0 r13 0xfffffd8003f20f00 r14 0x3 r15 0xffffffff rip 0xffffffff8136a795 db_enter+0x25 cs 0x8 rflags 0x246 rsp 0xffff80002f0a9ab0 ss 0x10 db_enter+0x25: addq $0x8,%rsp ddb{0}> show proc PROC (syz-executor) tid=129555 pid=74622 tcnt=2 stat=onproc flags process=1000000 proc=4000000 runpri=32, usrpri=82, slppri=32, nice=20 wchan=0x0, wmesg=, ps_single=0x0 scnt=0 ecnt=0 forw=0xffffffffffffffff, list=0xffff80002a3399d0,0xffff80002a339c70 process=0xffff80003c53e050 user=0xffff80002f0a5000, vmspace=0xfffffd806c8db580 estcpu=32, cpticks=1, pctcpu=0.0, user=0, sys=0, intr=1 ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 63335 378443 11507 0 2 0 syz-executor 63335 331187 11507 0 3 0x4000080 fsleep syz-executor 12263 93763 23022 0 7 0 syz-executor 91011 311999 44138 0 2 0 syz-executor 9027 336095 67674 0 2 0 syz-executor 9027 142019 67674 0 2 0x4000000 syz-executor 9027 107664 67674 0 2 0x4000000 syz-executor 22493 90704 93314 0 2 0 syz-executor 22493 422964 93314 0 3 0x4000080 fsleep syz-executor 97285 437074 80319 0 2 0 syz-executor 97285 168351 80319 0 2 0x4000000 syz-executor 74622 438912 50842 0 2 0x1000000 syz-executor *74622 129555 50842 0 7 0x5000000 syz-executor 21519 155926 87779 0 2 0 syz-executor 21519 398022 87779 0 3 0x4000080 fsleep syz-executor 64310 162849 0 0 3 0x14200 bored sosplice 32265 284506 1 0 3 0x80 nanoslp init 50842 273835 18367 0 3 0x82 nanoslp syz-executor 11507 454111 18367 0 3 0x82 nanoslp syz-executor 67674 244163 18367 0 3 0x82 nanoslp syz-executor 23022 335953 18367 0 3 0x82 nanoslp syz-executor 44138 298298 18367 0 3 0x82 nanoslp syz-executor 93314 52530 18367 0 3 0x82 nanoslp syz-executor 80319 60822 18367 0 3 0x82 nanoslp syz-executor 87779 119474 18367 0 3 0x82 nanoslp syz-executor 18367 500179 87838 0 3 0x82 kqread syz-executor 87838 300378 27096 0 3 0x10008a sigsusp ksh 27096 320785 15372 0 3 0x98 kqread sshd-session 15372 269102 40789 0 3 0x92 kqread sshd-session 40789 453716 1 0 3 0x88 kqread sshd 85486 86663 38344 74 3 0x1100092 bpf pflogd 38344 294742 1 0 3 0x80 sbwait pflogd 83431 371698 85281 73 3 0x1100090 kqread syslogd 85281 339968 1 0 3 0x100082 sbwait syslogd 84748 503855 1 0 3 0x100080 kqread resolvd 36691 100183 43778 77 3 0x100092 kqread dhcpleased 20724 341094 43778 77 3 0x100092 kqread dhcpleased 43778 411188 1 0 3 0x80 kqread dhcpleased 67815 337979 0 0 2 0x40014200 smr 41787 264285 0 0 2 0x14200 zerothread 6300 455603 0 0 3 0x14200 aiodoned aiodoned 90402 416600 0 0 3 0x14200 syncer update 22397 292563 0 0 3 0x14200 cleaner cleaner 85587 455244 0 0 3 0x14200 reaper reaper 48686 132748 0 0 3 0x14200 pgdaemon pagedaemon 64853 83806 0 0 3 0x14200 bored viomb 53449 83652 0 0 3 0x40014200 acpi0 acpi0 46446 481889 0 0 3 0x40014200 idle1 77067 344138 0 0 3 0x14200 bored softnet3 47678 509051 0 0 3 0x14200 bored softnet2 4973 16177 0 0 3 0x14200 bored softnet1 88671 274282 0 0 3 0x14200 bored softnet0 99208 360150 0 0 3 0x14200 bored systqmp 79294 259137 0 0 3 0x14200 bored systq 23493 378344 0 0 3 0x14200 tmoslp softclockmp 20378 102153 0 0 3 0x40014200 tmoslp softclock 50343 442491 0 0 3 0x40014200 idle0 1 430403 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{0}> show all locks Process 74622 (syz-executor) thread 0xffff80002a339220 (129555) exclusive kernel_lock &kernel_lock r = 0 (0xffffffff8398f708) #0 witness_lock+0x5bb stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5bb sys/kern/subr_witness.c:1155 #1 unp_externalize+0x14e #2 soreceive+0xc73 sys/kern/uipc_socket.c:1021 #3 recvit+0x40a sys/kern/uipc_syscalls.c:1072 #4 sys_recvmsg+0x1bf sys/kern/uipc_syscalls.c:872 #5 syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] #5 syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 #6 Xsyscall+0x128 exclusive rwlock sbufrcv r = 0 (0xffff8000014433c0) #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_write+0x3ea sys/kern/kern_rwlock.c:316 #2 sblock+0xb7 sys/kern/uipc_socket2.c:536 #3 soreceive+0x28e sys/kern/uipc_socket.c:882 #4 recvit+0x40a sys/kern/uipc_syscalls.c:1072 #5 sys_recvmsg+0x1bf sys/kern/uipc_syscalls.c:872 #6 syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] #6 syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 #7 Xsyscall+0x128 ddb{0}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10207 11091K 11474K 166960K 11732 0 pcb 17 12K 12K 166960K 87 0 rtable 235 8K 8K 166960K 406 0 pf 38 18K 19K 166960K 75 0 ifaddr 44 7K 7K 166960K 59 0 ifgroup 57 2K 2K 166960K 83 0 sysctl 3 1K 1K 166960K 3 0 counters 66 36K 37K 166960K 96 0 ioctlops 0 0K 4K 166960K 1515 0 iov 0 0K 16K 166960K 22 0 mount 1 1K 1K 166960K 1 0 log 0 0K 0K 166960K 4 0 vnodes 1338 84K 85K 166960K 1600 0 UFS quota 1 32K 32K 166960K 1 0 UFS mount 5 36K 36K 166960K 5 0 shm 2 1K 5K 166960K 11 0 VM map 2 1K 1K 166960K 2 0 sem 12 0K 1K 166960K 50 0 dirhash 12 2K 2K 166960K 24 0 ACPI 1692 195K 286K 166960K 12470 0 file desc 18 65K 89K 166960K 494 0 sigio 0 0K 0K 166960K 9 0 proc 66 91K 128K 166960K 559 0 subproc 72 4K 4K 166960K 72 0 NFS srvsock 1 0K 0K 166960K 1 0 NFS daemon 1 16K 16K 166960K 1 0 ip_moptions 2 0K 0K 166960K 56 0 in_multi 102 7K 7K 166960K 114 0 ether_multi 2 0K 0K 166960K 6 0 mrt 1 0K 0K 166960K 3 0 ISOFS mount 1 32K 32K 166960K 1 0 MSDOSFS mount 1 16K 16K 166960K 1 0 ttys 103 466K 466K 166960K 103 0 exec 0 0K 1K 166960K 556 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 208 72K 77K 166960K 6294 0 UVM aobj 15 2K 2K 166960K 15 0 pinsyscall 42 84K 104K 166960K 1602 0 memdesc 1 4K 4K 166960K 1 0 crypto data 1 1K 1K 166960K 1 0 ip6_options 0 0K 0K 166960K 14 0 NDP 13 0K 2K 166960K 40 0 temp 46 8636K 8701K 166960K 15452 0 kqueue 14 22K 30K 166960K 91 0 SYN cache 2 16K 16K 166960K 2 0 ddb{0}> 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 135 0 132 3 2 1 3 0 8 0 rtentry 112 122 0 16 4 0 4 4 0 8 0 unpcb 144 205 0 186 2 0 2 2 0 8 1 syncache 336 5 0 5 2 1 1 1 0 8 1 tcpcb 808 325 0 319 14 7 7 8 0 8 6 arp 120 21 0 1 1 0 1 1 0 8 0 inpcb 376 581 0 569 15 7 8 8 0 8 6 nd6 136 28 0 0 1 0 1 1 0 8 0 pkpcb 40 3 0 3 1 1 0 1 0 8 0 kcovpl 48 8 0 0 1 0 1 1 0 8 0 ppxss 1168 14 0 13 2 1 1 1 0 8 0 pffrag 232 1 0 1 1 0 1 1 0 482 1 pffrnode 88 1 0 1 1 0 1 1 0 8 1 pffrent 40 2 0 2 1 0 1 1 0 8 1 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 38 0 1 1 0 1 1 0 8 0 pfstkey 128 40 0 3 2 0 2 2 0 8 0 pfstate 376 39 0 2 4 0 4 4 0 8 0 pfrule 1344 23 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 499 0 43 30 1 29 29 0 8 0 art_table 32 500 0 43 4 0 4 4 0 8 0 art_node 16 120 0 25 1 0 1 1 0 8 0 sysvmsgpl 40 6 0 4 1 0 1 1 0 8 0 semapl 112 48 0 38 1 0 1 1 0 8 0 shmpl 112 12 0 0 1 0 1 1 0 8 0 dirhash 1024 25 0 8 3 0 3 3 0 8 0 dino2pl 256 2205 0 698 95 0 95 95 0 8 0 ffsino 280 2205 0 698 109 0 109 109 0 8 0 nchpl 144 2897 0 1208 63 0 63 63 0 8 0 rtmask 32 2 0 2 1 0 1 1 0 8 1 uvmvnodes 80 2430 0 0 50 0 50 50 0 8 0 vnodes 216 2430 0 0 135 0 135 135 0 8 0 namei 1024 9421 0 9421 2 1 1 2 0 8 1 percpumem 16 62 0 15 1 0 1 1 0 8 0 kstatmem 264 46 0 20 2 0 2 2 0 8 0 scxspl 216 11258 0 11258 12 4 8 8 1 8 8 plimitpl 152 271 0 255 1 0 1 1 0 8 0 sigapl 424 802 0 751 7 1 6 7 0 8 0 futexpl 64 5666 0 5663 1 0 1 1 0 8 0 knotepl 120 533 0 0 17 0 17 17 0 8 0 kqueuepl 216 145 0 133 1 0 1 1 0 8 0 pipepl 328 208 0 181 8 0 8 8 0 8 5 fdescpl 504 783 0 751 5 0 5 5 0 8 1 filepl 152 4075 0 3858 18 4 14 14 0 8 5 lockfpl 104 135 0 133 1 0 1 1 0 8 0 lockfspl 48 53 0 51 1 0 1 1 0 8 0 sessionpl 144 24 0 16 1 0 1 1 0 8 0 pgrppl 48 35 0 19 1 0 1 1 0 8 0 ucredpl 104 451 0 438 1 0 1 1 0 8 0 zombiepl 144 751 0 751 1 0 1 1 0 8 1 processpl 1176 802 0 751 6 1 5 5 0 8 0 procpl 656 1448 0 1390 7 0 7 7 0 8 1 sosppl 168 1 0 1 1 1 0 1 0 8 0 sockpl 688 934 0 901 21 12 9 15 0 8 6 mcl64k 65536 2 0 0 1 0 1 1 0 8 0 mcl8k 8192 2 0 0 1 0 1 1 0 8 0 mcl4k 4096 109 0 0 14 0 14 14 0 8 0 mcl2k2 2112 1 0 0 1 0 1 1 0 8 0 mcl2k 2048 23 0 0 3 0 3 3 0 8 0 mtagpl 96 35 0 0 1 0 1 1 0 8 0 mbufpl 256 183 0 0 12 0 12 12 0 8 0 bufpl 280 4011 0 130 278 0 278 278 0 8 0 anonpl 24 129906 0 126711 51 4 47 47 0 184 20 amapchunkpl 152 19635 0 19191 27 1 26 26 0 158 5 amappl16 200 2466 0 2435 18 6 12 15 0 8 8 amappl15 192 4 0 4 1 1 0 1 0 8 0 amappl14 184 118 0 107 1 0 1 1 0 8 0 amappl13 176 3 0 3 3 2 1 1 0 8 1 amappl12 168 1432 0 1402 3 1 2 2 0 8 0 amappl11 160 52 0 38 1 0 1 1 0 8 0 amappl10 152 6 0 6 1 1 0 1 0 8 0 amappl9 144 256 0 255 1 0 1 1 0 8 0 amappl8 136 24 0 22 1 0 1 1 0 8 0 amappl7 128 111 0 100 1 0 1 1 0 8 0 amappl6 120 211 0 207 1 0 1 1 0 8 0 amappl5 112 124 0 113 1 0 1 1 0 8 0 amappl4 104 318 0 300 1 0 1 1 0 8 0 amappl3 96 3747 0 3645 4 0 4 4 0 8 1 amappl2 88 655 0 592 2 0 2 2 0 8 0 amappl1 80 9128 0 8586 14 1 13 14 0 8 0 amappl 88 5898 0 5743 5 0 5 5 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 14 0 0 1 0 1 1 0 8 0 uaddrrnd 24 783 0 751 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 783 0 751 1 0 1 1 0 8 0 vmmpekpl 168 8231 0 8194 3 0 3 3 0 8 0 vmmpepl 168 53362 0 51532 96 1 95 95 0 357 9 vmsppl 456 782 0 751 6 1 5 5 0 8 1 rwobjpl 64 19635 0 16328 56 0 56 56 0 8 0 pdppl 4096 1574 0 1502 104 30 74 84 0 8 2 pvpl 32 13760 0 0 111 0 111 111 0 265 0 pmappl 248 782 0 751 3 0 3 3 0 8 0 extentpl 40 55 0 38 1 0 1 1 0 8 0 phpool 112 292 0 43 8 0 8 8 0 8 0 ddb{0}> machine ddbcpu 0 Invalid cpu 0 ddb{0}> trace db_enter() at db_enter+0x25 sys/arch/amd64/amd64/db_interface.c:438 witness_checkorder(fffffd80643dded8,9,0) at witness_checkorder+0x1047 rw_do_enter_write(fffffd80643ddec0,1) at rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:233 rrw_enter(fffffd80643ddec0,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:616 VOP_LOCK(fffffd805dbead98,2001) at VOP_LOCK+0xa6 sys/kern/vfs_vops.c:524 vn_lock(fffffd805dbead98,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vfs_getcwd_common(fffffd805dbead98,fffffd8064475608,0,0,200,0,f7b8494948a8fa5d) at vfs_getcwd_common+0xd1 sys/kern/vfs_getcwd.c:287 vn_isunder(fffffd805dbead98,fffffd8064475608,ffff80002a339220) at vn_isunder+0x56 sys/kern/vfs_vnops.c:694 unp_externalize(fffffd807eb93600,33,0) at unp_externalize+0x286 sys/kern/uipc_usrreq.c:1086 soreceive(ffff8000014432e0,ffff80002f0aa038,ffff80002f0a9fe8,0,ffff80002f0aa028,ffff80002f0aa1ac,9acc5ffa04a260e3) at soreceive+0xc73 sys/kern/uipc_socket.c:1021 recvit(ffff80002a339220,7,ffff80002f0aa180,0,ffff80002f0aa230) at recvit+0x40a sys/kern/uipc_syscalls.c:1072 sys_recvmsg(ffff80002a339220,ffff80002f0aa2e0,ffff80002f0aa230) at sys_recvmsg+0x1bf sys/kern/uipc_syscalls.c:872 syscall(ffff80002f0aa2e0) at syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80002f0aa2e0) at syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x818c06df770, count: -14 ddb{0}> machine ddbcpu 1 Stopped at x86_ipi_db+0x27: addq $0x8,%rsp ddb{1}> trace x86_ipi_db(ffff800029aabff0) 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(ffffffff8398f500) at __mp_lock+0x192 __mp_lock_spin sys/kern/kern_lock.c:113 [inline] __mp_lock(ffffffff8398f500) at __mp_lock+0x192 sys/kern/kern_lock.c:144 syscall(ffff8000390c2e90) at syscall+0xae6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff8000390c2e90) at syscall+0xae6 sys/arch/amd64/amd64/trap.c:577 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7a03c7063c00, count: -6