Ìwitness: lock order reversal: 1st 0xffff8000012dc658 sbufrcv (&so->so_rcv.sb_lock) 2nd 0xfffffd8079323628 inode (&ip->i_lock) lock order [1] sbufrcv (&so->so_rcv.sb_lock) -> [2] inode (&ip->i_lock) lock order data 0xffffffff83161d3f -> 0xffffffff830d64b2 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:537 #2 soreceive+0x28e sys/kern/uipc_socket.c:876 #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:437 witness_checkorder(fffffd8079323628,9,0) at witness_checkorder+0x1047 rw_do_enter_write(fffffd8079323610,1) at rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:233 rrw_enter(fffffd8079323610,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:616 VOP_LOCK(fffffd806bf48050,2001) at VOP_LOCK+0xa6 sys/kern/vfs_vops.c:524 vn_lock(fffffd806bf48050,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vfs_getcwd_common(fffffd806bf48050,fffffd806bf48050,0,0,200,0,4a17dde7addc5561) at vfs_getcwd_common+0xd1 sys/kern/vfs_getcwd.c:287 vn_isunder(fffffd806bf48050,fffffd806bf48050,ffff80002a424f58) at vn_isunder+0x56 sys/kern/vfs_vnops.c:694 unp_externalize(fffffd806ccf9c00,ec,0) at unp_externalize+0x286 sys/kern/uipc_usrreq.c:1086 soreceive(ffff8000012dc578,ffff80003c5c2578,ffff80003c5c2528,0,ffff80003c5c2568,ffff80003c5c26ec,10473557b6d71cae) at soreceive+0xc73 sys/kern/uipc_socket.c:1015 recvit(ffff80002a424f58,6,ffff80003c5c26c0,0,ffff80003c5c2770) at recvit+0x40a sys/kern/uipc_syscalls.c:1072 sys_recvmsg(ffff80002a424f58,ffff80003c5c2820,ffff80003c5c2770) at sys_recvmsg+0x1bf sys/kern/uipc_syscalls.c:872 syscall(ffff80003c5c2820) at syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80003c5c2820) at syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xe96a54e7790, count: -14 ddb{0}> show registers rdi 0 rsi 0x80000 acpi_pdirpa+0x6be71 rbp 0xffff80003c5c2000 rbx 0xfffffd800433c570 rdx 0xffff80000128d580 rcx 0xffff80002a424f58 rax 0x7ffff acpi_pdirpa+0x6be70 r8 0xffff80003c5c1ee0 r9 0x8080808080808080 r10 0xe6c1d10189103d3b r11 0x64067db21e7d52ef r12 0 r13 0xfffffd8003b53f00 r14 0x3 r15 0xffffffff rip 0xffffffff8239cdf5 db_enter+0x25 cs 0x8 rflags 0x246 rsp 0xffff80003c5c1ff0 ss 0x10 db_enter+0x25: addq $0x8,%rsp ddb{0}> show proc PROC (syz-executor) tid=331126 pid=49285 tcnt=3 stat=onproc flags process=1000000 proc=4000000 runpri=24, usrpri=50, slppri=24, nice=20 wchan=0x0, wmesg=, ps_single=0x0 scnt=0 ecnt=0 forw=0xffffffffffffffff, list=0xffff80002a425c00,0xffff80002a425700 process=0xffff80003a98a6f0 user=0xffff80003c5bd000, vmspace=0xfffffd806bfd51e0 estcpu=36, cpticks=0, pctcpu=0.0, user=0, sys=0, intr=0 ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 82890 106777 5205 0 2 0 syz-executor 82890 515779 5205 0 3 0x4000080 fsleep syz-executor 21309 107236 13984 0 2 0 syz-executor 21309 345565 13984 0 2 0x4000000 syz-executor 18039 401006 19870 0 2 0 syz-executor 18039 163228 19870 0 3 0x4000080 fsleep syz-executor 49285 324843 61470 0 2 0x1000000 syz-executor *49285 331126 61470 0 7 0x5000000 syz-executor 49285 104777 61470 0 2 0x5000000 syz-executor 63373 496182 31218 0 2 0 syz-executor 63373 13888 31218 0 3 0x4000080 fsleep syz-executor 63373 513545 31218 0 3 0x4000080 fsleep syz-executor 39774 175086 19002 0 2 0 syz-executor 39774 59661 19002 0 3 0x4000080 sbwait syz-executor 16175 366883 21373 0 3 0x80 nanoslp syz-executor 16175 60125 21373 0 3 0x4000080 ttyin syz-executor 16175 392547 21373 0 3 0x4000080 fsleep syz-executor 16175 316736 21373 0 3 0x4000080 fsleep syz-executor 29362 514540 0 0 3 0x14200 bored sosplice 16704 132536 0 0 3 0x14200 acct acct 19002 455179 68788 0 3 0x82 nanoslp syz-executor 64383 121527 68788 0 7 0x3 syz-executor 5205 245109 68788 0 3 0x82 nanoslp syz-executor 19870 490864 68788 0 3 0x82 nanoslp syz-executor 21373 16049 68788 0 3 0x82 nanoslp syz-executor 31218 499924 68788 0 3 0x82 nanoslp syz-executor 61470 244436 68788 0 2 0x2 syz-executor 13984 446335 68788 0 3 0x82 nanoslp syz-executor 68788 34211 62249 0 3 0x82 kqread syz-executor 62249 360777 38321 0 3 0x10008a sigsusp ksh 38321 337517 8712 0 3 0x98 kqread sshd-session 8712 242951 8403 0 3 0x92 kqread sshd-session 59986 512412 1 0 3 0x100083 ttyopn getty 8403 521947 1 0 3 0x88 kqread sshd 13791 309359 28420 74 3 0x1100092 bpf pflogd 28420 184953 1 0 3 0x80 sbwait pflogd 44373 492390 5718 73 3 0x1100090 kqread syslogd 5718 26773 1 0 3 0x100082 sbwait syslogd 76840 285758 1 0 3 0x100080 kqread resolvd 27210 394709 59166 77 3 0x100092 kqread dhcpleased 22394 477125 59166 77 3 0x100092 kqread dhcpleased 59166 351156 1 0 3 0x80 kqread dhcpleased 73108 10783 0 0 2 0x40014200 smr 39415 441058 0 0 2 0x14200 zerothread 2373 244543 0 0 3 0x14200 aiodoned aiodoned 26801 496343 0 0 3 0x14200 syncer update 48038 368198 0 0 3 0x14200 cleaner cleaner 9081 247469 0 0 3 0x14200 reaper reaper 95566 338970 0 0 3 0x14200 pgdaemon pagedaemon 50941 288750 0 0 3 0x14200 bored viomb 62770 321509 0 0 3 0x40014200 acpi0 acpi0 73091 276641 0 0 3 0x40014200 idle1 34517 366329 0 0 3 0x14200 bored softnet3 5046 161574 0 0 3 0x14200 bored softnet2 52901 383719 0 0 3 0x14200 bored softnet1 20552 86305 0 0 3 0x14200 bored softnet0 99790 428923 0 0 3 0x14200 bored systqmp 82509 290141 0 0 3 0x14200 bored systq 25681 149414 0 0 3 0x14200 tmoslp softclockmp 83524 142602 0 0 3 0x40014200 tmoslp softclock 29613 215515 0 0 3 0x40014200 idle0 1 189814 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{0}> show all locks Process 49285 (syz-executor) thread 0xffff80002a424f58 (331126) exclusive kernel_lock &kernel_lock r = 0 (0xffffffff836710f8) #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:1015 #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 (0xffff8000012dc658) #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:537 #3 soreceive+0x28e sys/kern/uipc_socket.c:876 #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 10209 11167K 11234K 166960K 11364 0 pcb 17 12K 12K 166960K 42 0 rtable 239 7K 7K 166960K 369 0 pf 34 17K 18K 166960K 51 0 ifaddr 43 7K 7K 166960K 48 0 ifgroup 55 2K 2K 166960K 61 0 sysctl 1 1K 1K 166960K 1 0 counters 64 36K 36K 166960K 70 0 ioctlops 0 0K 4K 166960K 1494 0 iov 0 0K 12K 166960K 3 0 mount 1 1K 1K 166960K 1 0 log 0 0K 0K 166960K 4 0 vnodes 1328 84K 84K 166960K 1408 0 UFS quota 1 32K 32K 166960K 1 0 UFS mount 5 36K 36K 166960K 5 0 shm 2 1K 1K 166960K 2 0 VM map 2 1K 1K 166960K 2 0 sem 4 0K 0K 166960K 5 0 dirhash 12 2K 2K 166960K 12 0 ACPI 1690 195K 286K 166960K 12468 0 file desc 17 61K 89K 166960K 228 0 sigio 0 0K 0K 166960K 1 0 proc 72 91K 128K 166960K 535 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 0 0K 0K 166960K 9 0 in_multi 99 7K 7K 166960K 104 0 ether_multi 1 0K 0K 166960K 2 0 mrt 1 0K 0K 166960K 1 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 378 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 225 72K 73K 166960K 3666 0 UVM aobj 4 2K 2K 166960K 4 0 pinsyscall 42 84K 102K 166960K 1331 0 memdesc 1 4K 4K 166960K 1 0 crypto data 1 1K 1K 166960K 1 0 ip6_options 0 0K 0K 166960K 13 0 NDP 12 0K 1K 166960K 31 0 temp 43 6887K 6955K 166960K 7384 0 kqueue 14 22K 26K 166960K 35 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 41 0 38 1 0 1 1 0 8 0 rtentry 112 112 0 1 4 0 4 4 0 8 0 unpcb 144 88 0 59 2 0 2 2 0 8 0 syncache 336 4 0 4 1 0 1 1 0 8 1 tcpcb 808 37 0 32 1 0 1 1 0 8 0 arp 120 18 0 0 1 0 1 1 0 8 0 inpcb 376 154 0 146 2 0 2 2 0 8 1 nd6 136 24 0 0 1 0 1 1 0 8 0 kcovpl 48 8 0 0 1 0 1 1 0 8 0 ppxss 1168 3 0 3 1 0 1 1 0 8 1 pffrag 232 1 0 0 1 0 1 1 0 482 0 pffrnode 88 1 0 0 1 0 1 1 0 8 0 pffrent 40 2 0 1 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 26 0 0 1 0 1 1 0 8 0 pfstkey 128 26 0 0 1 0 1 1 0 8 0 pfstate 376 26 0 0 3 0 3 3 0 8 0 pfrule 1344 21 0 16 2 1 1 2 0 8 0 art_heap8 4096 2 0 0 2 0 2 2 0 8 0 art_heap4 256 452 0 0 29 0 29 29 0 8 0 art_table 32 454 0 0 4 0 4 4 0 8 0 art_node 16 111 0 10 1 0 1 1 0 8 0 sysvmsgpl 40 2 0 0 1 0 1 1 0 8 0 semupl 112 1 0 1 1 0 1 1 0 8 1 semapl 112 3 0 1 1 0 1 1 0 8 0 shmpl 112 1 0 0 1 0 1 1 0 8 0 dirhash 1024 17 0 0 3 0 3 3 0 8 0 dino2pl 256 1732 0 227 95 0 95 95 0 8 0 ffsino 280 1732 0 227 109 0 109 109 0 8 0 nchpl 144 2058 0 370 63 0 63 63 0 8 0 uvmvnodes 80 1841 0 0 38 0 38 38 0 8 0 vnodes 216 1841 0 0 103 0 103 103 0 8 0 namei 1024 6503 0 6503 1 0 1 1 0 8 1 percpumem 16 49 0 3 1 0 1 1 0 8 0 kstatmem 264 30 0 6 2 0 2 2 0 8 0 scsiplug 72 1 0 1 1 0 1 1 0 8 1 scxspl 216 6199 0 6199 3 2 1 2 1 8 1 plimitpl 152 72 0 54 1 0 1 1 0 8 0 sigapl 424 535 0 484 7 0 7 7 0 8 1 futexpl 64 1618 0 1612 1 0 1 1 0 8 0 knotepl 120 237 0 0 8 0 8 8 0 8 0 kqueuepl 216 38 0 27 1 0 1 1 0 8 0 pipepl 328 114 0 87 3 0 3 3 0 8 0 fdescpl 504 515 0 484 5 0 5 5 0 8 0 filepl 152 2141 0 1911 10 0 10 10 0 8 0 lockfpl 104 59 0 55 1 0 1 1 0 8 0 lockfspl 48 24 0 20 1 0 1 1 0 8 0 sessionpl 144 23 0 14 1 0 1 1 0 8 0 pgrppl 48 32 0 15 1 0 1 1 0 8 0 ucredpl 104 194 0 181 1 0 1 1 0 8 0 zombiepl 144 484 0 484 1 0 1 1 0 8 1 processpl 1168 535 0 484 5 0 5 5 0 8 1 procpl 648 704 0 642 6 0 6 6 0 8 0 sosppl 168 2 0 2 1 0 1 1 0 8 1 sockpl 688 284 0 244 5 0 5 5 0 8 1 mcl64k 65536 6 0 0 1 0 1 1 0 8 0 mcl16k 16384 3 0 0 1 0 1 1 0 8 0 mcl8k 8192 3 0 0 1 0 1 1 0 8 0 mcl4k 4096 125 0 0 16 0 16 16 0 8 0 mcl2k 2048 19 0 0 3 0 3 3 0 8 0 mtagpl 96 3 0 0 1 0 1 1 0 8 0 mbufpl 256 204 0 0 13 0 13 13 0 8 0 bufpl 280 2546 0 130 173 0 173 173 0 8 0 anonpl 24 97216 0 93815 26 2 24 24 0 185 1 amapchunkpl 152 10938 0 10447 22 0 22 22 0 158 2 amappl16 200 1616 0 1588 5 2 3 5 0 8 0 amappl15 192 5 0 5 1 1 0 1 0 8 0 amappl14 184 117 0 105 1 0 1 1 0 8 0 amappl13 176 3 0 3 2 2 0 1 0 8 0 amappl12 168 1181 0 1150 4 1 3 3 0 8 1 amappl11 160 49 0 35 1 0 1 1 0 8 0 amappl10 152 13 0 13 1 1 0 1 0 8 0 amappl9 144 253 0 252 1 0 1 1 0 8 0 amappl8 136 25 0 23 1 0 1 1 0 8 0 amappl7 128 112 0 100 1 0 1 1 0 8 0 amappl6 120 186 0 183 1 0 1 1 0 8 0 amappl5 112 117 0 107 1 0 1 1 0 8 0 amappl4 104 316 0 296 1 0 1 1 0 8 0 amappl3 96 1862 0 1749 4 0 4 4 0 8 1 amappl2 88 649 0 586 2 0 2 2 0 8 0 amappl1 80 8282 0 7709 14 0 14 14 0 8 0 amappl 88 3284 0 3115 5 0 5 5 0 92 1 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 19 0 18 1 0 1 1 0 8 0 aobjpl 72 3 0 0 1 0 1 1 0 8 0 uaddrrnd 24 515 0 484 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 515 0 484 1 0 1 1 0 8 0 vmmpekpl 168 5987 0 5952 3 0 3 3 0 8 1 vmmpepl 168 37831 0 35971 89 0 89 89 0 357 6 vmsppl 456 514 0 484 5 0 5 5 0 8 1 rwobjpl 64 15251 0 12477 46 0 46 46 0 8 0 pdppl 4096 1037 0 968 99 26 73 83 0 8 4 pvpl 32 10991 0 0 91 2 89 90 0 265 0 pmappl 248 514 0 484 3 0 3 3 0 8 0 extentpl 40 55 0 38 1 0 1 1 0 8 0 phpool 112 280 0 28 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:437 witness_checkorder(fffffd8079323628,9,0) at witness_checkorder+0x1047 rw_do_enter_write(fffffd8079323610,1) at rw_do_enter_write+0xb7 sys/kern/kern_rwlock.c:233 rrw_enter(fffffd8079323610,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:616 VOP_LOCK(fffffd806bf48050,2001) at VOP_LOCK+0xa6 sys/kern/vfs_vops.c:524 vn_lock(fffffd806bf48050,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vfs_getcwd_common(fffffd806bf48050,fffffd806bf48050,0,0,200,0,4a17dde7addc5561) at vfs_getcwd_common+0xd1 sys/kern/vfs_getcwd.c:287 vn_isunder(fffffd806bf48050,fffffd806bf48050,ffff80002a424f58) at vn_isunder+0x56 sys/kern/vfs_vnops.c:694 unp_externalize(fffffd806ccf9c00,ec,0) at unp_externalize+0x286 sys/kern/uipc_usrreq.c:1086 soreceive(ffff8000012dc578,ffff80003c5c2578,ffff80003c5c2528,0,ffff80003c5c2568,ffff80003c5c26ec,10473557b6d71cae) at soreceive+0xc73 sys/kern/uipc_socket.c:1015 recvit(ffff80002a424f58,6,ffff80003c5c26c0,0,ffff80003c5c2770) at recvit+0x40a sys/kern/uipc_syscalls.c:1072 sys_recvmsg(ffff80002a424f58,ffff80003c5c2820,ffff80003c5c2770) at sys_recvmsg+0x1bf sys/kern/uipc_syscalls.c:872 syscall(ffff80003c5c2820) at syscall+0xbc6 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80003c5c2820) at syscall+0xbc6 sys/arch/amd64/amd64/trap.c:577 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0xe96a54e7790, count: -14 ddb{0}> machine ddbcpu 1 Stopped at x86_ipi_db+0x27: addq $0x8,%rsp ddb{1}> trace x86_ipi_db(ffff800029b5bff0) at x86_ipi_db+0x27 sys/arch/amd64/amd64/db_interface.c:393 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(ffffffff83670ef0) at __mp_lock+0x192 __mp_lock_spin sys/kern/kern_lock.c:113 [inline] __mp_lock(ffffffff83670ef0) at __mp_lock+0x192 sys/kern/kern_lock.c:144 ktrsyscall(ffff8000ffffd958,6,8,ffff80002a536000) at ktrsyscall+0x2b3 sys/kern/kern_ktrace.c:183 syscall(ffff80002a536000) at syscall+0x2e6 mi_syscall sys/sys/syscall_mi.h:154 [inline] syscall(ffff80002a536000) at syscall+0x2e6 sys/arch/amd64/amd64/trap.c:577 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7bfd8e3bca80, count: -7