lock order reversal: 1st 0xfffffd807cc6d818 inode (&ip->i_lock) @ /syzkaller/managers/multicore/kernel/sys/ufs/ufs/ufs_vnops.c:1547 2nd 0xfffffd806f6819e8 fdlock (&newfdp->fd_fd.fd_lock) @ /syzkaller/managers/multicore/kernel/sys/kern/vfs_syscalls.c:1113 lock order "&newfdp->fd_fd.fd_lock"(rwlock) -> "&ip->i_lock"(rrwlock) first seen at: #0 witness_checkorder+0x6d8 #1 _rw_enter+0xbf #2 _rrw_enter+0x5c #3 VOP_LOCK+0x55 #4 vn_closefile+0x11e #5 fdrop+0xdf #6 closef+0x128 #7 finishdup+0x2cc #8 dodup3+0x5da #9 syscall+0x5a0 #10 Xsyscall+0x128 lock order "&ip->i_lock"(rrwlock) -> "&newfdp->fd_fd.fd_lock"(rwlock) first seen at: #0 witness_checkorder+0x6d8 #1 _rw_enter_write+0x6b #2 doopenat+0x679 #3 syscall+0x5a0 #4 Xsyscall+0x128 Stopped at db_enter+0x18: addq $0x8,%rsp ddb{1}> ddb{1}> set $lines = 0 ddb{1}> show panic the kernel did not panic ddb{1}> trace db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:399 witness_checkorder(e4aada9413748460,ffffffff81ee4b9d,459,0,fffffd806f6819e8) at witness_checkorder+0x12f9 witness_debugger sys/kern/subr_witness.c:2543 [inline] witness_checkorder(e4aada9413748460,ffffffff81ee4b9d,459,0,fffffd806f6819e8) at witness_checkorder+0x12f9 sys/kern/subr_witness.c:1089 _rw_enter_write(0,1,1) at _rw_enter_write+0x6b sys/kern/kern_rwlock.c:118 doopenat(b023420ee3e82e2e,0,ffff800020b93788,8d291387ba8,0,50) at doopenat+0x679 sys/kern/vfs_syscalls.c:1114 syscall(23cd535de81e3510) at syscall+0x5a0 mi_syscall sys/sys/syscall_mi.h:99 [inline] syscall(23cd535de81e3510) at syscall+0x5a0 sys/arch/amd64/amd64/trap.c:583 Xsyscall(6,0,ffffffffffffffb0,0,3,8cfd1467010) at Xsyscall+0x128 end of kernel end trace frame: 0x8d291387c30, count: -6 ddb{1}> show registers rdi 0x3 rsi 0x3ffff acpi_pdirpa+0x2be67 rbp 0xffff800020c4f810 rbx 0x3 rdx 0x40000 acpi_pdirpa+0x2be68 rcx 0xffff800002b48000 rax 0xffff800001b46780 r8 0xffffffff81e8d9bf witness_checkorder+0x12cf r9 0x5 r10 0xde1321c7453cc625 r11 0x74d98c5a86427b25 r12 0xfffffd80025d8570 r13 0xffffffff81f25008 apollo_pio_rec+0x161 r14 0xffffffff822b7730 w_lodata+0x3eb10 r15 0xffffffff822cdb50 w_lodata+0x54f30 rip 0xffffffff8171e6c8 db_enter+0x18 cs 0x8 rflags 0x246 rsp 0xffff800020c4f800 ss 0x10 db_enter+0x18: addq $0x8,%rsp ddb{1}> show proc PROC (syz-executor1) pid=104171 stat=onproc flags process=0 proc=4000000 pri=32, usrpri=77, nice=20 forw=0xffffffffffffffff, list=0xffff800020b924c8,0xffff800020b932e8 process=0xffff800020b953c0 user=0xffff800020c4a000, vmspace=0xfffffd807f00d2d0 estcpu=36, cpticks=0, pctcpu=0.0 user=0, sys=0, intr=0 ddb{1}> ps PID TID PPID UID S FLAGS WAIT COMMAND 47248 356329 94527 0 2 0 syz-executor0 47248 219795 94527 0 3 0x4000080 fsleep syz-executor0 61801 380133 92951 0 2 0 syz-executor1 *61801 104171 92951 0 7 0x4000000 syz-executor1 61801 244059 92951 0 2 0x4000000 syz-executor1 56631 65331 1 0 3 0x100083 ttyin getty 14094 223580 0 0 3 0x14200 bored sosplice 92951 109119 23181 0 3 0x82 nanosleep syz-executor1 94527 522225 23181 0 3 0x82 nanosleep syz-executor0 23181 132209 10064 0 3 0x82 thrsleep syz-fuzzer 23181 328350 10064 0 3 0x4000082 thrsleep syz-fuzzer 23181 168070 10064 0 3 0x4000082 thrsleep syz-fuzzer 23181 294580 10064 0 3 0x4000082 thrsleep syz-fuzzer 23181 288126 10064 0 3 0x4000082 thrsleep syz-fuzzer 23181 23642 10064 0 3 0x4000082 thrsleep syz-fuzzer 23181 401394 10064 0 3 0x4000082 thrsleep syz-fuzzer 23181 331587 10064 0 3 0x4000082 kqread syz-fuzzer 23181 300678 10064 0 3 0x4000082 thrsleep syz-fuzzer 23181 130788 10064 0 3 0x4000082 thrsleep syz-fuzzer 10064 196677 81948 0 3 0x10008a pause ksh 81948 75520 52882 0 3 0x92 select sshd 52882 286675 1 0 3 0x80 select sshd 5656 340084 9758 73 7 0x100090 syslogd 9758 137432 1 0 3 0x100082 netio syslogd 41774 434711 1 77 3 0x100090 poll dhclient 75680 134250 1 0 3 0x80 poll dhclient 7420 124534 0 0 2 0x14200 zerothread 17740 282418 0 0 3 0x14200 aiodoned aiodoned 41460 41175 0 0 3 0x14200 syncer update 53403 328068 0 0 3 0x14200 cleaner cleaner 90809 222454 0 0 3 0x14200 reaper reaper 91611 468821 0 0 3 0x14200 pgdaemon pagedaemon 16411 499648 0 0 3 0x14200 bored crynlk 74274 77256 0 0 3 0x14200 bored crypto 3254 321402 0 0 3 0x40014200 acpi0 acpi0 87677 51875 0 0 3 0x40014200 idle1 94367 98977 0 0 3 0x14200 bored softnet 7025 416047 0 0 3 0x14200 bored systqmp 11799 91942 0 0 3 0x14200 bored systq 21410 408983 0 0 3 0x40014200 bored softclock 63857 96449 0 0 3 0x40014200 idle0 1 208176 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper