login: witness: lock order reversal: 1st 0xffff8000014df9c0 sbufsnd (&so->so_snd.sb_lock) 2nd 0xfffffd806e324b80 inode (&ip->i_lock) lock order [1] sbufsnd (&so->so_snd.sb_lock) -> [2] inode (&ip->i_lock) lock order data 0xffffffff833d1e1a -> 0xffffffff83343bfc is missing lock order [2] inode (&ip->i_lock) -> [3] sbufrcv (&so->so_rcv.sb_lock) #0 rw_do_enter_write+0xba sys/kern/kern_rwlock.c:234 #1 sblock+0xb6 sys/kern/uipc_socket2.c:536 #2 soreceive+0x27d sys/kern/uipc_socket.c:870 #3 fifo_read+0x117 sys/miscfs/fifofs/fifo_vnops.c:264 #4 VOP_READ+0x101 sys/kern/vfs_vops.c:227 #5 vn_rdwr+0x15b sys/kern/vfs_vnops.c:-1 #6 vndsetcred+0xa1 sys/dev/vnd.c:684 #7 vndioctl+0xdfe 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+0x674 sys/kern/sys_generic.c:-1 #11 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #11 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:746 #12 Xsyscall+0x128 lock order [3] sbufrcv (&so->so_rcv.sb_lock) -> [1] sbufsnd (&so->so_snd.sb_lock) #0 rw_do_enter_write+0xba sys/kern/kern_rwlock.c:234 #1 sblock+0xb6 sys/kern/uipc_socket2.c:536 #2 sosplice+0x3e1 sys/kern/uipc_socket.c:1347 #3 sys_setsockopt+0x2ba sys/kern/uipc_syscalls.c:1227 #4 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #4 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:746 #5 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(fffffd806e324b80,9,0) at witness_checkorder+0x10b9 sys/kern/subr_witness.c:-1 rw_do_enter_write(fffffd806e324b68,1) at rw_do_enter_write+0xba sys/kern/kern_rwlock.c:234 rrw_enter(fffffd806e324b68,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:621 VOP_LOCK(fffffd806fd0a558,2001) at VOP_LOCK+0xa3 sys/kern/vfs_vops.c:527 vn_lock(fffffd806fd0a558,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vfs_lookup(ffff80003a01f390) at vfs_lookup+0x11c sys/kern/vfs_lookup.c:-1 namei(ffff80003a01f390) at namei+0x7ca sys/kern/vfs_lookup.c:250 unp_connect(ffff8000014df7d8,fffffd805b527e00,ffff8000fffefca0) at unp_connect+0x29d sys/kern/uipc_usrreq.c:872 uipc_dgram_send(ffff8000014df7d8,fffffd807592f500,fffffd805b527e00,0) at uipc_dgram_send+0x163 sys/kern/uipc_usrreq.c:609 sosend(ffff8000014df7d8,fffffd805b527e00,ffff80003a01f618,0,0,0) at sosend+0x804 sys/kern/uipc_socket.c:-1 sendit(ffff8000fffefca0,3,ffff80003a01f798,0,ffff80003a01f850) at sendit+0x5a5 sys/kern/uipc_syscalls.c:785 sys_sendmsg(ffff8000fffefca0,ffff80003a01f900,ffff80003a01f850) at sys_sendmsg+0x246 sys/kern/uipc_syscalls.c:603 syscall(ffff80003a01f900) at syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80003a01f900) at syscall+0xbd4 sys/arch/amd64/amd64/trap.c:746 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x435a36873d0, count: -15 ddb{0}> show registers rdi 0 rsi 0 rbp 0xffff80003a01f010 rbx 0 rdx 0 rcx 0xffff8000fffefca0 rax 0xffffffff837b5ff0 cpu_info_full_primary+0x1ff0 r8 0xffff80003a01eef0 r9 0x8080808080808080 r10 0xfc0a72b3132c4c73 r11 0xd033b3bd86d04766 r12 0xfffffd8003ef7680 r13 0xfffffd80046debe0 r14 0x3 r15 0xffffffff833dadbe substchar+0xb292 rip 0xffffffff81d6b285 db_enter+0x25 cs 0x8 rflags 0x246 rsp 0xffff80003a01f000 ss 0x10 db_enter+0x25: addq $0x8,%rsp ddb{0}> show proc PROC (syz-executor) tid=64267 pid=58957 tcnt=2 stat=onproc flags process=0 proc=4000000 runpri=32, usrpri=50, slppri=32, nice=20 wchan=0x0, wmesg=, ps_single=0x0 scnt=0 ecnt=0 forw=0xffffffffffffffff, list=0xffff8000fffef240,0xffff8000fffefa18 process=0xffff80002a3dd358 user=0xffff80003a01a000, vmspace=0xfffffd80660a5020 estcpu=36, cpticks=0, pctcpu=0.0, user=0, sys=0, intr=0 ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 97050 453781 42255 0 2 0 syz-executor 65792 20102 89009 0 7 0 syz-executor 58957 293034 41167 0 2 0 syz-executor *58957 64267 41167 0 7 0x4000000 syz-executor 68989 54225 42885 0 2 0 syz-executor 68989 137324 42885 0 3 0x4000080 fsleep syz-executor 64738 154690 74259 0 3 0x80 nanoslp syz-executor 64738 68892 74259 0 3 0x4000080 kqpoll syz-executor 64738 312450 74259 0 3 0x4000080 fsleep syz-executor 64738 164215 74259 0 3 0x4000080 fsleep syz-executor 63939 254795 52993 0 3 0x80 nanoslp syz-executor 63939 262778 52993 0 3 0x4000080 sbwait syz-executor 63939 476659 52993 0 3 0x4000080 fsleep syz-executor 95646 208482 9010 0 3 0x80 nanoslp syz-executor 95646 164838 9010 0 3 0x4000080 lockf syz-executor 29338 315695 1 0 3 0x100083 ttyin getty 38168 111104 0 0 3 0x14200 acct acct 42885 36436 98193 0 3 0x82 nanoslp syz-executor 52993 497090 98193 0 3 0x82 nanoslp syz-executor 74259 61372 98193 0 3 0x82 nanoslp syz-executor 94014 293346 0 0 3 0x14200 bored sosplice 41167 79975 98193 0 3 0x82 nanoslp syz-executor 42255 365473 98193 0 3 0x82 nanoslp syz-executor 9010 66354 98193 0 3 0x82 nanoslp syz-executor 93831 53490 98193 0 3 0x82 wait syz-executor 89009 461985 98193 0 3 0x82 nanoslp syz-executor 98193 168081 61018 0 3 0x82 kqread syz-executor 61018 112568 60981 0 3 0x10008a sigsusp ksh 60981 174498 28267 0 3 0x98 kqread sshd-session 28267 117463 64039 0 3 0x92 kqread sshd-session 64039 125204 1 0 3 0x88 kqread sshd 22185 276831 49510 74 3 0x1100092 bpf pflogd 49510 141152 1 0 3 0x80 sbwait pflogd 4655 400132 61867 73 3 0x1100090 kqread syslogd 61867 63726 1 0 3 0x100082 sbwait syslogd 21689 130602 1 0 3 0x100080 kqread resolvd 45128 300515 70083 77 3 0x100092 kqread dhcpleased 44887 262593 70083 77 3 0x100092 kqread dhcpleased 70083 24841 1 0 3 0x80 kqread dhcpleased 44333 5043 0 0 3 0x14200 bored smr 36503 110604 0 0 2 0x14200 zerothread 68542 61548 0 0 3 0x14200 aiodoned aiodoned 35353 107852 0 0 3 0x14200 syncer update 59458 74050 0 0 3 0x14200 cleaner cleaner 48377 52915 0 0 3 0x14200 reaper reaper 30054 227244 0 0 3 0x14200 pgdaemon pagedaemon 53758 38516 0 0 3 0x14200 bored viomb 40652 49270 0 0 3 0x40014200 acpi0 acpi0 39491 317966 0 0 3 0x40014200 idle1 53621 27589 0 0 3 0x14200 bored softnet1 28169 455666 0 0 3 0x14200 bored softnet0 65442 182128 0 0 3 0x14200 bored systqmp 2971 24889 0 0 3 0x14200 bored systq 25339 100800 0 0 3 0x14200 tmoslp softclockmp 54161 108590 0 0 3 0x40014200 tmoslp softclock 80573 105225 0 0 3 0x40014200 idle0 1 774 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{0}> show all locks Process 58957 (syz-executor) thread 0xffff8000fffefca0 (64267) exclusive kernel_lock &kernel_lock r = 0 (0xffffffff83929028) #0 witness_lock+0x5f1 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5f1 sys/kern/subr_witness.c:1160 #1 unp_connect+0x28c sys/kern/uipc_usrreq.c:872 #2 uipc_dgram_send+0x163 sys/kern/uipc_usrreq.c:609 #3 sosend+0x804 sys/kern/uipc_socket.c:-1 #4 sendit+0x5a5 sys/kern/uipc_syscalls.c:785 #5 sys_sendmsg+0x246 sys/kern/uipc_syscalls.c:603 #6 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #6 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:746 #7 Xsyscall+0x128 exclusive rwlock sbufsnd r = 0 (0xffff8000014df9c0) #0 witness_lock+0x5f1 stacktrace_save sys/sys/stacktrace.h:37 [inline] #0 witness_lock+0x5f1 sys/kern/subr_witness.c:1160 #1 rw_do_enter_write+0x419 sys/kern/kern_rwlock.c:320 #2 sblock+0xb6 sys/kern/uipc_socket2.c:536 #3 sosend+0x2e9 sys/kern/uipc_socket.c:631 #4 sendit+0x5a5 sys/kern/uipc_syscalls.c:785 #5 sys_sendmsg+0x246 sys/kern/uipc_syscalls.c:603 #6 syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] #6 syscall+0xbd4 sys/arch/amd64/amd64/trap.c:746 #7 Xsyscall+0x128 ddb{0}> show malloc Type InUse MemUse HighUse Limit Requests Type Lim devbuf 10203 11039K 13719K 166960K 12812 0 pcb 17 13K 28K 166960K 183 0 rtable 195 9K 10K 166960K 427 0 pf 33 17K 81K 166960K 102 0 ifaddr 39 6K 8K 166960K 81 0 ifgroup 51 2K 2K 166960K 118 0 sysctl 4 1K 9K 166960K 10 0 counters 66 36K 37K 166960K 134 0 ioctlops 0 0K 4K 166960K 1689 0 iov 0 0K 16K 166960K 34 0 mount 1 1K 1K 166960K 1 0 log 0 0K 0K 166960K 4 0 vnodes 1493 94K 94K 166960K 2065 0 UFS quota 1 32K 32K 166960K 1 0 UFS mount 5 36K 36K 166960K 5 0 shm 2 1K 5K 166960K 3 0 VM map 2 1K 1K 166960K 2 0 sem 12 0K 0K 166960K 55 0 dirhash 12 2K 2K 166960K 27 0 ACPI 1692 195K 286K 166960K 12470 0 file desc 18 65K 240K 166960K 753 0 sigio 1 0K 0K 166960K 9 0 proc 72 115K 196K 166960K 673 0 subproc 72 4K 4K 166960K 99 0 NFS srvsock 1 0K 0K 166960K 1 0 NFS daemon 1 16K 16K 166960K 1 0 ip_moptions 0 0K 0K 166960K 79 0 in_multi 88 6K 7K 166960K 155 0 ether_multi 1 0K 0K 166960K 4 0 mrt 1 0K 0K 166960K 4 0 ISOFS mount 1 32K 32K 166960K 1 0 MSDOSFS mount 1 16K 16K 166960K 1 0 ttys 115 519K 519K 166960K 115 0 exec 0 0K 1K 166960K 473 0 fusefs mount 1 32K 32K 166960K 1 0 pfkey data 0 0K 0K 166960K 2 0 tdb 3 0K 0K 166960K 3 0 VM swap 8 62K 64K 166960K 10 0 UVM amap 246 161K 189K 166960K 8290 0 UVM aobj 39 2K 2K 166960K 40 0 pinsyscall 43 86K 103K 166960K 1917 0 memdesc 1 4K 4K 166960K 1 0 crypto data 1 1K 1K 166960K 1 0 ip6_options 0 0K 0K 166960K 33 0 NDP 11 0K 2K 166960K 53 0 temp 77 8652K 8728K 166960K 32122 0 kqueue 13 20K 28K 166960K 117 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 26 0 0 1 0 1 1 0 8 0 rtpcb 120 170 0 167 2 0 2 2 0 8 1 rtentry 176 143 0 66 5 0 5 5 0 8 0 unpcb 144 302 0 278 2 1 1 2 0 8 0 syncache 336 7 0 7 2 1 1 1 0 8 1 tcpcb 736 223 0 219 7 6 1 7 0 8 0 arp 136 16 0 6 1 0 1 1 0 8 0 inpcb 328 630 0 622 9 5 4 7 0 8 3 nd6 152 25 0 9 1 0 1 1 0 8 0 pkpcb 40 4 0 4 1 0 1 1 0 8 1 kcovpl 48 11 0 3 1 0 1 1 0 8 0 ppxss 1192 23 0 23 2 1 1 1 0 8 1 pppxif 1504 3 0 3 2 1 1 1 0 8 1 pffrag 232 6 0 2 1 0 1 1 0 482 0 pffrnode 88 6 0 2 1 0 1 1 0 8 0 pffrent 40 13 0 7 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 pfrktable 1344 2 0 2 2 1 1 1 0 8 1 pfstitem 24 47 0 13 1 0 1 1 0 8 0 pfstkey 128 47 0 13 2 0 2 2 0 8 0 pfstate 384 47 0 13 4 0 4 4 0 8 0 pfrule 1344 23 0 18 2 1 1 2 0 8 0 rttmr 136 1 0 1 1 1 0 1 0 8 0 art_heap8 4096 3 0 0 3 0 3 3 0 8 0 art_heap4 256 694 0 296 33 2 31 31 0 8 3 art_table 40 697 0 296 5 0 5 5 0 8 0 art_node 32 143 0 77 1 0 1 1 0 8 0 sysvmsgpl 40 10 0 8 1 0 1 1 0 8 0 semupl 112 1 0 1 1 1 0 1 0 8 0 semapl 112 51 0 41 1 0 1 1 0 8 0 shmpl 112 37 0 1 2 0 2 2 0 8 0 dirhash 1024 27 0 10 3 0 3 3 0 8 0 dino2pl 256 2694 0 1180 96 0 96 96 0 8 0 ffsino 296 2694 0 1180 118 1 117 118 0 8 0 nchpl 144 3622 0 1922 64 0 64 64 0 8 0 rtmask 32 8 0 8 2 1 1 1 0 8 1 uvmvnodes 80 3218 0 0 66 0 66 66 0 8 0 vnodes 216 3218 0 0 179 0 179 179 0 8 0 namei 1024 12125 0 12124 3 2 1 2 0 8 0 percpumem 16 82 0 34 1 0 1 1 0 8 0 kstatmem 264 64 0 40 3 0 3 3 0 8 1 scsiplug 72 3 0 3 3 2 1 1 0 8 1 scxspl 216 20721 0 20721 9 6 3 6 1 8 3 plimitpl 152 154 0 135 1 0 1 1 0 8 0 sigapl 424 1027 0 977 7 1 6 7 0 8 0 knotepl 120 558 0 0 17 0 17 17 0 8 0 kqueuepl 224 285 0 275 6 4 2 5 0 8 1 pipepl 344 164 0 136 3 0 3 3 0 8 0 fdescpl 528 1009 0 977 3 0 3 3 0 8 0 filepl 160 5339 0 5107 16 4 12 16 0 8 0 lockfpl 104 384 0 380 2 0 2 2 0 8 1 lockfspl 48 145 0 142 1 0 1 1 0 8 0 sessionpl 144 30 0 21 1 0 1 1 0 8 0 pgrppl 48 48 0 31 1 0 1 1 0 8 0 ucredpl 104 939 0 925 1 0 1 1 0 8 0 zombiepl 144 978 0 977 1 0 1 1 0 8 0 processpl 1232 1027 0 977 5 1 4 5 0 8 0 procpl 664 2029 0 1971 6 0 6 6 0 8 0 sosppl 168 3 0 3 1 1 0 1 0 8 0 sockpl 752 1182 0 1147 14 6 8 11 0 8 4 mcl64k 65536 7 0 0 1 0 1 1 0 8 0 mcl16k 16384 1 0 0 1 0 1 1 0 8 0 mcl12k 12288 1 0 0 1 0 1 1 0 8 0 mcl8k 8192 3 0 0 1 0 1 1 0 8 0 mcl4k 4096 126 0 0 16 0 16 16 0 8 0 mcl2k 2048 51 0 0 7 0 7 7 0 8 0 mtagpl 96 8 0 0 1 0 1 1 0 8 0 mbufpl 256 241 0 0 16 0 16 16 0 8 0 bufpl 280 9564 0 3420 439 0 439 439 0 8 0 anonpl 32 11657 0 0 94 0 94 94 0 246 0 amapchunkpl 152 27357 0 26791 41 8 33 36 0 158 5 amappl16 200 3923 0 3664 34 10 24 24 0 8 6 amappl15 192 5 0 5 1 1 0 1 0 8 0 amappl14 184 127 0 115 1 0 1 1 0 8 0 amappl13 176 12 0 12 1 1 0 1 0 8 0 amappl12 168 1707 0 1676 3 1 2 2 0 8 0 amappl11 160 53 0 39 1 0 1 1 0 8 0 amappl10 152 20 0 20 1 1 0 1 0 8 0 amappl9 144 258 0 257 2 1 1 1 0 8 0 amappl8 136 21 0 18 1 0 1 1 0 8 0 amappl7 128 117 0 104 1 0 1 1 0 8 0 amappl6 120 209 0 205 1 0 1 1 0 8 0 amappl5 112 132 0 123 1 0 1 1 0 8 0 amappl4 104 310 0 291 1 0 1 1 0 8 0 amappl3 96 4588 0 4492 4 0 4 4 0 8 0 amappl2 88 1283 0 1201 2 0 2 2 0 8 0 amappl1 80 11891 0 11295 15 1 14 15 0 8 0 amappl 88 7448 0 7277 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 254 0 254 2 2 0 1 0 8 0 dma64 64 7 0 7 2 2 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 39 0 1 1 0 1 1 0 8 0 uaddrrnd 24 1009 0 977 1 0 1 1 0 8 0 uaddrbest 32 2 0 0 1 0 1 1 0 8 0 uaddr 24 1009 0 977 1 0 1 1 0 8 0 vmmpekpl 168 9654 0 9607 3 0 3 3 0 8 0 vmmpepl 168 70583 0 68343 109 1 108 108 0 357 1 vmsppl 488 1008 0 977 5 0 5 5 0 8 0 rwobjpl 80 25050 0 20632 91 0 91 91 0 8 0 pdppl 4096 2026 0 1954 104 30 74 84 0 8 2 pvpl 32 18918 0 0 153 0 153 153 0 265 0 pmappl 256 1008 0 977 3 0 3 3 0 8 0 extentpl 40 45 0 27 1 0 1 1 0 8 0 phpool 112 299 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(fffffd806e324b80,9,0) at witness_checkorder+0x10b9 sys/kern/subr_witness.c:-1 rw_do_enter_write(fffffd806e324b68,1) at rw_do_enter_write+0xba sys/kern/kern_rwlock.c:234 rrw_enter(fffffd806e324b68,1) at rrw_enter+0xc6 sys/kern/kern_rwlock.c:621 VOP_LOCK(fffffd806fd0a558,2001) at VOP_LOCK+0xa3 sys/kern/vfs_vops.c:527 vn_lock(fffffd806fd0a558,2001) at vn_lock+0xa4 sys/kern/vfs_vnops.c:570 vfs_lookup(ffff80003a01f390) at vfs_lookup+0x11c sys/kern/vfs_lookup.c:-1 namei(ffff80003a01f390) at namei+0x7ca sys/kern/vfs_lookup.c:250 unp_connect(ffff8000014df7d8,fffffd805b527e00,ffff8000fffefca0) at unp_connect+0x29d sys/kern/uipc_usrreq.c:872 uipc_dgram_send(ffff8000014df7d8,fffffd807592f500,fffffd805b527e00,0) at uipc_dgram_send+0x163 sys/kern/uipc_usrreq.c:609 sosend(ffff8000014df7d8,fffffd805b527e00,ffff80003a01f618,0,0,0) at sosend+0x804 sys/kern/uipc_socket.c:-1 sendit(ffff8000fffefca0,3,ffff80003a01f798,0,ffff80003a01f850) at sendit+0x5a5 sys/kern/uipc_syscalls.c:785 sys_sendmsg(ffff8000fffefca0,ffff80003a01f900,ffff80003a01f850) at sys_sendmsg+0x246 sys/kern/uipc_syscalls.c:603 syscall(ffff80003a01f900) at syscall+0xbd4 mi_syscall sys/sys/syscall_mi.h:176 [inline] syscall(ffff80003a01f900) at syscall+0xbd4 sys/arch/amd64/amd64/trap.c:746 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x435a36873d0, count: -15 ddb{0}> machine ddbcpu 1 Stopped at x86_ipi_db+0x27: addq $0x8,%rsp ddb{1}> trace x86_ipi_db(ffff8000299fdff0) 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(ffffffff83928e20) at __mp_lock+0x192 __mp_lock_spin sys/kern/kern_lock.c:134 [inline] __mp_lock(ffffffff83928e20) at __mp_lock+0x192 sys/kern/kern_lock.c:165 syscall(ffff80003c441c10) at syscall+0xaf4 mi_syscall sys/sys/syscall_mi.h:175 [inline] syscall(ffff80003c441c10) at syscall+0xaf4 sys/arch/amd64/amd64/trap.c:746 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x7b7e52190160, count: -6