witness: reversal: netlock inode

Visto 1 vez
Saltar al primer mensaje no leído

syzbot

no leída,
26 oct 2020, 20:06:1826/10/20
a syzkaller-o...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: eda2c43b Include I2C stuff.
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=12ed5840500000
kernel config: https://syzkaller.appspot.com/x/.config?x=bf87b6915a88cd0d
dashboard link: https://syzkaller.appspot.com/bug?extid=c10bc00576304666b93c

Unfortunately, I don't have any reproducer for this issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+c10bc0...@syzkaller.appspotmail.com

witness: lock order reversal:
1st 0xffffffff8277e670 netlock (netlock)
2nd 0xfffffd807d7c15e8 inode (&ip->i_lock)
lock order "&ip->i_lock"(rrwlock) -> "netlock"(rwlock) first seen at:
#0 witness_checkorder+0x65e witness_lock_order_add sys/kern/subr_witness.c:2463 [inline]
#0 witness_checkorder+0x65e sys/kern/subr_witness.c:880
#1 rw_enter_write+0x5b sys/kern/kern_rwlock.c:127
#2 uvn_get+0xeb uvm_vnode_lock sys/uvm/uvm_vnode.c:1501 [inline]
#2 uvn_get+0xeb sys/uvm/uvm_vnode.c:993
#3 uvm_fault+0xa41 sys/uvm/uvm_fault.c:1073
#4 kpageflttrap+0x202 sys/arch/amd64/amd64/trap.c:265
#5 kerntrap+0xef sys/arch/amd64/amd64/trap.c:321
#6 alltraps_kern_meltdown+0x7b
#7 copyin+0x53
#8 sys_connect+0x9b sys/kern/uipc_syscalls.c:362
#9 syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
#9 syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
#10 Xsyscall+0x128
lock order "netlock"(rwlock) -> "&ip->i_lock"(rrwlock) first seen at:
#0 witness_checkorder+0x65e witness_lock_order_add sys/kern/subr_witness.c:2463 [inline]
#0 witness_checkorder+0x65e sys/kern/subr_witness.c:880
#1 rw_enter+0xd4
#2 rrw_enter+0x88 sys/kern/kern_rwlock.c:462
#3 VOP_LOCK+0x4b sys/kern/vfs_vops.c:614
#4 vn_lock+0x6c sys/kern/vfs_vnops.c:575
#5 vget+0x1c6 sys/kern/vfs_subr.c:671
#6 ktrwriteraw+0x138 sys/kern/kern_ktrace.c:659
#7 ktrstruct+0x169 ktrwrite2 sys/kern/kern_ktrace.c:627 [inline]
#7 ktrstruct+0x169 sys/kern/kern_ktrace.c:311
#8 sys_connect+0x246
#9 syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
#9 syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
#10 Xsyscall+0x128
Stopped at db_enter+0x18: addq $0x8,%rsp
ddb{1}>
ddb{1}> set $lines = 0
ddb{1}> set $maxwidth = 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:398
witness_checkorder(fffffd807d7c15e8,9,0) at witness_checkorder+0xf5a witness_debugger sys/kern/subr_witness.c:2490 [inline]
witness_checkorder(fffffd807d7c15e8,9,0) at witness_checkorder+0xf5a sys/kern/subr_witness.c:1087
rw_enter(fffffd807d7c15d8,1) at rw_enter+0xd4
rrw_enter(fffffd807d7c15d8,1) at rrw_enter+0x88 sys/kern/kern_rwlock.c:462
VOP_LOCK(fffffd80704e3018,2001) at VOP_LOCK+0x4b sys/kern/vfs_vops.c:614
vn_lock(fffffd80704e3018,2001) at vn_lock+0x6c sys/kern/vfs_vnops.c:575
vget(fffffd80704e3018,2001) at vget+0x1c6 sys/kern/vfs_subr.c:671
ktrwriteraw(ffff800021272538,fffffd80704e3018,fffffd807f7b7960,ffff800022cb1ca0,ffff800022cb1c80) at ktrwriteraw+0x138 sys/kern/kern_ktrace.c:659
ktrstruct(ffff800021272538,ffffffff823afafa,fffffd807d62d320,10) at ktrstruct+0x169 ktrwrite2 sys/kern/kern_ktrace.c:627 [inline]
ktrstruct(ffff800021272538,ffffffff823afafa,fffffd807d62d320,10) at ktrstruct+0x169 sys/kern/kern_ktrace.c:311
sys_connect(ffff800021272538,ffff800022cb1de8,ffff800022cb1e30) at sys_connect+0x246
syscall(ffff800022cb1eb0) at syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
syscall(ffff800022cb1eb0) at syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x5c778b68670, count: -12
ddb{1}> show registers
rdi 0x3
rsi 0x40000 acpi_pdirpa+0x2be68
rbp 0xffff800022cb18b0
rbx 0x3
rdx 0xffff800000af5a40
rcx 0x3
rax 0x3ffff acpi_pdirpa+0x2be67
r8 0xffffffff81e34c43 witness_checkorder+0xf33
r9 0x5
r10 0x76bca44987b69756
r11 0x99c7fff3ec6d4ba6
r12 0xffffffff82849c70 w_lodata+0x4d0b0
r13 0
r14 0xffffffff82849bc0 w_lodata+0x4d000
r15 0xfffffd8002c9b500
rip 0xffffffff82243a18 db_enter+0x18
cs 0x8
rflags 0x246
rsp 0xffff800022cb18a0
ss 0x10
db_enter+0x18: addq $0x8,%rsp
ddb{1}> show proc
PROC (syz-executor.0) pid=475090 stat=onproc
flags process=0 proc=4000001<INKTR,THREAD>
pri=17, usrpri=75, nice=20
forw=0xffffffffffffffff, list=0xffff8000212727c8,0xffff800021272f88
process=0xffff800021234010 user=0xffff800022cac000, vmspace=0xfffffd807eff98a0
estcpu=36, cpticks=1, pctcpu=0.0
user=0, sys=0, intr=0
ddb{1}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
74224 466948 17457 0 7 0 syz-executor.1
74224 515267 17457 0 3 0x4000080 fsleep syz-executor.1
33420 88522 91645 0 2 0x1 syz-executor.0
*33420 475090 91645 0 7 0x4000001 syz-executor.0
17457 70107 63597 0 3 0x82 nanosleep syz-executor.1
91645 273650 63597 0 3 0x82 nanosleep syz-executor.0
63597 284145 15787 0 3 0x82 kqread syz-fuzzer
63597 132653 15787 0 3 0x4000082 nanosleep syz-fuzzer
63597 467672 15787 0 3 0x4000082 thrsleep syz-fuzzer
63597 37089 15787 0 3 0x4000082 thrsleep syz-fuzzer
63597 345110 15787 0 3 0x4000082 thrsleep syz-fuzzer
63597 32134 15787 0 3 0x4000082 thrsleep syz-fuzzer
63597 331598 15787 0 3 0x4000082 thrsleep syz-fuzzer
63597 399100 15787 0 3 0x4000082 thrsleep syz-fuzzer
15787 192289 27837 0 3 0x10008a pause ksh
27837 451265 39942 0 3 0x92 select sshd
83101 388509 1 0 3 0x100083 ttyin getty
39942 501038 1 0 3 0x80 select sshd
5480 180540 29921 74 3 0x100092 bpf pflogd
29921 51854 1 0 3 0x80 netio pflogd
20987 101152 65777 73 3 0x100090 kqread syslogd
65777 423718 1 0 3 0x100082 netio syslogd
35106 333629 1 77 3 0x100090 poll dhclient
87123 516359 1 0 3 0x80 poll dhclient
30483 478314 0 0 3 0x14200 bored smr
20276 29032 0 0 3 0x14200 pgzero zerothread
54606 500900 0 0 3 0x14200 aiodoned aiodoned
58387 522888 0 0 3 0x14200 syncer update
57581 253212 0 0 3 0x14200 cleaner cleaner
30480 343562 0 0 3 0x14200 reaper reaper
26994 286882 0 0 3 0x14200 pgdaemon pagedaemon
64477 371139 0 0 3 0x14200 bored crynlk
23755 280083 0 0 3 0x14200 bored crypto
60736 323069 0 0 3 0x14200 bored viomb
63821 437214 0 0 3 0x40014200 acpi0 acpi0
43027 360379 0 0 3 0x40014200 idle1
77828 295513 0 0 3 0x14200 bored softnet
12014 129636 0 0 3 0x14200 bored systqmp
95065 28620 0 0 3 0x14200 bored systq
98917 399516 0 0 3 0x40014200 bored softclock
79782 447555 0 0 3 0x40014200 idle0
1 369280 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{1}> show all locks
Process 33420 (syz-executor.0) thread 0xffff800021272538 (475090)
exclusive rwlock netlock r = 0 (0xffffffff8277e670)
#0 witness_lock+0x4b0 stacktrace_save sys/sys/stacktrace.h:36 [inline]
#0 witness_lock+0x4b0 sys/kern/subr_witness.c:1164
#1 uvn_io+0x31d sys/uvm/uvm_vnode.c:1224
#2 uvn_get+0x473 sys/uvm/uvm_vnode.c:1083
#3 uvm_fault+0xa41 sys/uvm/uvm_fault.c:1073
#4 kpageflttrap+0x202 sys/arch/amd64/amd64/trap.c:265
#5 kerntrap+0xef sys/arch/amd64/amd64/trap.c:321
#6 alltraps_kern_meltdown+0x7b
#7 copyin+0x53
#8 sys_connect+0x9b sys/kern/uipc_syscalls.c:362
#9 syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
#9 syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
#10 Xsyscall+0x128
exclusive kernel_lock &kernel_lock r = 1 (0xffffffff828cea78)
#0 witness_lock+0x4b0 stacktrace_save sys/sys/stacktrace.h:36 [inline]
#0 witness_lock+0x4b0 sys/kern/subr_witness.c:1164
#1 __mp_acquire_count+0x4c sys/kern/kern_lock.c:227
#2 mi_switch+0x390 sys/kern/sched_bsd.c:433
#3 sleep_finish+0x111 sys/kern/kern_synch.c:418
#4 sleep_finish_all+0x32 sleep_finish_timeout sys/kern/kern_synch.c:448 [inline]
#4 sleep_finish_all+0x32 sys/kern/kern_synch.c:393
#5 tsleep+0x1bc sys/kern/kern_synch.c:155
#6 getblk+0x14c sys/kern/vfs_bio.c:1031
#7 bread+0x3a bio_doread sys/kern/vfs_bio.c:436 [inline]
#7 bread+0x3a sys/kern/vfs_bio.c:481
#8 ffs_read+0x330
#9 VOP_READ+0xbf sys/kern/vfs_vops.c:253
#10 uvn_io+0x2fa
#11 uvn_get+0x473 sys/uvm/uvm_vnode.c:1083
#12 uvm_fault+0xa41 sys/uvm/uvm_fault.c:1073
#13 kpageflttrap+0x202 sys/arch/amd64/amd64/trap.c:265
#14 kerntrap+0xef sys/arch/amd64/amd64/trap.c:321
#15 alltraps_kern_meltdown+0x7b
#16 copyin+0x53
#17 sys_connect+0x9b sys/kern/uipc_syscalls.c:362
#18 syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
#18 syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
ddb{1}> show malloc
Type InUse MemUse HighUse Limit Requests Type Lim
devbuf 9482 6415K 6932K 78643K 10755 0
pcb 13 8K 8K 78643K 24 0
rtable 105 3K 3K 78643K 255 0
ifaddr 44 10K 10K 78643K 52 0
counters 43 33K 33K 78643K 45 0
ioctlops 0 0K 4K 78643K 1470 0
mount 1 1K 1K 78643K 1 0
vnodes 1219 77K 77K 78643K 1278 0
UFS quota 1 32K 32K 78643K 1 0
UFS mount 5 36K 36K 78643K 5 0
shm 2 1K 1K 78643K 2 0
VM map 2 1K 1K 78643K 2 0
sem 2 0K 0K 78643K 2 0
dirhash 12 2K 2K 78643K 12 0
ACPI 1825 197K 290K 78643K 13109 0
file desc 6 17K 25K 78643K 198 0
proc 59 63K 95K 78643K 487 0
subproc 32 2K 2K 78643K 51 0
NFS srvsock 1 0K 0K 78643K 1 0
NFS daemon 1 16K 16K 78643K 1 0
in_multi 33 2K 2K 78643K 44 0
ether_multi 1 0K 0K 78643K 1 0
ISOFS mount 1 32K 32K 78643K 1 0
MSDOSFS mount 1 16K 16K 78643K 1 0
ttys 31 148K 148K 78643K 31 0
exec 0 0K 2K 78643K 410 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 93 21K 23K 78643K 1203 0
UVM aobj 3 2K 2K 78643K 3 0
memdesc 1 4K 4K 78643K 1 0
crypto data 1 1K 1K 78643K 1 0
NDP 8 0K 0K 78643K 13 0
temp 107 3961K 4025K 78643K 4502 0
kqueue 3 4K 4K 78643K 3 0
SYN cache 2 16K 16K 78643K 2 0
ddb{1}> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
arp 64 8 0 2 1 0 1 1 0 8 0
plcache 128 20 0 0 1 0 1 1 0 8 0
rtpcb 120 29 0 27 1 0 1 1 0 8 0
rtentry 112 56 0 12 2 0 2 2 0 8 0
unpcb 120 29 0 19 1 0 1 1 0 8 0
syncache 296 4 0 4 1 1 0 1 0 8 0
tcpqe 32 63 0 63 2 2 0 1 0 8 0
tcpcb 736 11 0 4 1 0 1 1 0 8 0
inpcb 296 90 0 80 1 0 1 1 0 8 0
nd6 48 9 0 3 1 0 1 1 0 8 0
kcovpl 48 3 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 14 0 5 1 0 1 1 0 8 0
pfstkey 112 14 0 5 1 0 1 1 0 8 0
pfstate 328 14 0 5 2 0 2 2 0 8 0
pfrule 1360 21 0 16 2 1 1 2 0 8 0
art_heap8 4096 1 0 0 1 0 1 1 0 8 0
art_heap4 256 233 0 44 12 0 12 12 0 8 0
art_table 32 234 0 44 2 0 2 2 0 8 0
art_node 16 55 0 15 1 0 1 1 0 8 0
sysvmsgpl 40 20 0 20 1 0 1 1 0 8 1
dirhash 1024 17 0 0 3 0 3 3 0 8 0
dino2pl 256 1580 0 173 88 0 88 88 0 8 0
ffsino 272 1580 0 173 94 0 94 94 0 8 0
nchpl 144 2010 0 416 60 0 60 60 0 8 0
uvmvnodes 72 1680 0 0 31 0 31 31 0 8 0
vnodes 208 1680 0 0 89 0 89 89 0 8 0
namei 1024 5142 0 5142 1 0 1 1 0 8 1
percpumem 16 33 0 1 1 0 1 1 0 8 0
scxspl 216 5996 0 5996 9 8 1 8 0 8 1
plimitpl 152 26 0 18 1 0 1 1 0 8 0
sigapl 424 411 0 378 4 0 4 4 0 8 0
futexpl 56 1201 0 1200 1 0 1 1 0 8 0
knotepl 112 74 0 54 1 0 1 1 0 8 0
kqueuepl 152 59 0 57 1 0 1 1 0 8 0
pipepl 304 80 0 69 1 0 1 1 0 8 0
fdescpl 496 395 0 378 3 0 3 3 0 8 0
filepl 152 1476 0 1371 5 0 5 5 0 8 0
lockfpl 104 35 0 34 1 0 1 1 0 8 0
lockfspl 48 17 0 16 1 0 1 1 0 8 0
sessionpl 144 19 0 8 1 0 1 1 0 8 0
pgrppl 48 19 0 8 1 0 1 1 0 8 0
ucredpl 96 81 0 72 1 0 1 1 0 8 0
zombiepl 144 378 0 378 1 0 1 1 0 8 1
processpl 1056 411 0 378 3 0 3 3 0 8 0
procpl 656 625 0 583 4 0 4 4 0 8 0
sockpl 400 148 0 126 3 0 3 3 0 8 0
mcl8k 8192 6 0 0 1 0 1 1 0 8 0
mcl4k 4096 1 0 0 1 0 1 1 0 8 0
mcl2k 2048 155 0 0 19 0 19 19 0 8 0
mtagpl 96 23 0 0 1 0 1 1 0 8 0
mbufpl 256 244 0 0 15 0 15 15 0 8 0
bufpl 280 3729 0 181 254 0 254 254 0 8 0
anonpl 16 97347 0 93141 52 11 41 51 0 124 12
amapchunkpl 152 2001 0 1859 8 1 7 8 0 158 0
amappl16 192 4087 0 3948 33 14 19 31 0 8 7
amappl15 184 3 0 1 1 0 1 1 0 8 0
amappl14 176 25 0 19 1 0 1 1 0 8 0
amappl13 168 33 0 30 1 0 1 1 0 8 0
amappl12 160 6 0 3 1 0 1 1 0 8 0
amappl11 152 66 0 49 1 0 1 1 0 8 0
amappl10 144 80 0 78 1 0 1 1 0 8 0
amappl9 136 93 0 91 1 0 1 1 0 8 0
amappl8 128 137 0 106 2 0 2 2 0 8 0
amappl7 120 338 0 330 1 0 1 1 0 8 0
amappl6 112 142 0 129 1 0 1 1 0 8 0
amappl5 104 1239 0 1220 1 0 1 1 0 8 0
amappl4 96 284 0 258 1 0 1 1 0 8 0
amappl3 88 131 0 123 1 0 1 1 0 8 0
amappl2 80 2100 0 2025 3 0 3 3 0 8 0
amappl1 72 20514 0 20003 25 14 11 19 0 8 1
amappl 80 911 0 860 2 0 2 2 0 84 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 64 2 0 0 1 0 1 1 0 8 0
uaddrrnd 24 395 0 378 1 0 1 1 0 8 0
uaddrbest 32 2 0 0 1 0 1 1 0 8 0
uaddr 24 395 0 378 1 0 1 1 0 8 0
vmmpekpl 168 6824 0 6800 2 0 2 2 0 8 0
vmmpepl 168 59414 0 57961 94 18 76 85 0 357 12
vmsppl 368 394 0 378 2 0 2 2 0 8 0
pdppl 4096 797 0 756 57 16 41 45 0 8 0
pvpl 32 248023 0 240591 133 11 122 132 0 265 42
pmappl 232 394 0 378 2 1 1 2 0 8 0
extentpl 40 57 0 39 1 0 1 1 0 8 0
phpool 112 303 0 19 9 0 9 9 0 8 0
ddb{1}> machine ddbcpu 0
Stopped at x86_ipi_db+0x1a: addq $0x8,%rsp
ddb{0}> trace
x86_ipi_db(ffffffff8272eff0) at x86_ipi_db+0x1a sys/arch/amd64/amd64/db_interface.c:352
x86_ipi_handler() at x86_ipi_handler+0xb7 sys/arch/amd64/amd64/ipi.c:106
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline]
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 sys/kern/kern_lock.c:147
intr_handler(ffff800022cb7170,ffff80000065a300) at intr_handler+0x5e sys/arch/amd64/amd64/intr.c:532
Xintr_ioapic_edge4_untramp() at Xintr_ioapic_edge4_untramp+0x19f
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline]
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 sys/kern/kern_lock.c:147
softintr_dispatch(0) at softintr_dispatch+0x4e sys/arch/amd64/amd64/softintr.c:90
Xsoftclock() at Xsoftclock+0x1f
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline]
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 sys/kern/kern_lock.c:147
upageflttrap(ffff800022cb7470,70eeb343000) at upageflttrap+0x77 sys/arch/amd64/amd64/trap.c:180
usertrap(ffff800022cb7470) at usertrap+0x21a sys/arch/amd64/amd64/trap.c:406
recall_trap() at recall_trap+0x8
end of kernel
end trace frame: 0x7f7ffffe0170, count: -13
ddb{0}> machine ddbcpu 1
Stopped at db_enter+0x18: addq $0x8,%rsp
ddb{1}> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398
witness_checkorder(fffffd807d7c15e8,9,0) at witness_checkorder+0xf5a witness_debugger sys/kern/subr_witness.c:2490 [inline]
witness_checkorder(fffffd807d7c15e8,9,0) at witness_checkorder+0xf5a sys/kern/subr_witness.c:1087
rw_enter(fffffd807d7c15d8,1) at rw_enter+0xd4
rrw_enter(fffffd807d7c15d8,1) at rrw_enter+0x88 sys/kern/kern_rwlock.c:462
VOP_LOCK(fffffd80704e3018,2001) at VOP_LOCK+0x4b sys/kern/vfs_vops.c:614
vn_lock(fffffd80704e3018,2001) at vn_lock+0x6c sys/kern/vfs_vnops.c:575
vget(fffffd80704e3018,2001) at vget+0x1c6 sys/kern/vfs_subr.c:671
ktrwriteraw(ffff800021272538,fffffd80704e3018,fffffd807f7b7960,ffff800022cb1ca0,ffff800022cb1c80) at ktrwriteraw+0x138 sys/kern/kern_ktrace.c:659
ktrstruct(ffff800021272538,ffffffff823afafa,fffffd807d62d320,10) at ktrstruct+0x169 ktrwrite2 sys/kern/kern_ktrace.c:627 [inline]
ktrstruct(ffff800021272538,ffffffff823afafa,fffffd807d62d320,10) at ktrstruct+0x169 sys/kern/kern_ktrace.c:311
sys_connect(ffff800021272538,ffff800022cb1de8,ffff800022cb1e30) at sys_connect+0x246
syscall(ffff800022cb1eb0) at syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
syscall(ffff800022cb1eb0) at syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x5c778b68670, count: -12


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

no leída,
26 oct 2020, 20:35:2426/10/20
a syzkaller-o...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: eda2c43b Include I2C stuff.
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=153f368c500000
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=168bb91c500000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12e954b0500000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+c10bc0...@syzkaller.appspotmail.com

witness: lock order reversal:
1st 0xffffffff8277e670 netlock (netlock)
2nd 0xfffffd806d95cb48 inode (&ip->i_lock)
witness_checkorder(fffffd806d95cb48,9,0) at witness_checkorder+0xf5a witness_debugger sys/kern/subr_witness.c:2490 [inline]
witness_checkorder(fffffd806d95cb48,9,0) at witness_checkorder+0xf5a sys/kern/subr_witness.c:1087
rw_enter(fffffd806d95cb38,1) at rw_enter+0xd4
rrw_enter(fffffd806d95cb38,1) at rrw_enter+0x88 sys/kern/kern_rwlock.c:462
VOP_LOCK(fffffd806d9479e0,2001) at VOP_LOCK+0x4b sys/kern/vfs_vops.c:614
vn_lock(fffffd806d9479e0,2001) at vn_lock+0x6c sys/kern/vfs_vnops.c:575
vget(fffffd806d9479e0,2001) at vget+0x1c6 sys/kern/vfs_subr.c:671
ktrwriteraw(ffff8000ffff62a0,fffffd806d9479e0,fffffd807f7b7a20,ffff800021256fb0,ffff800021256f90) at ktrwriteraw+0x138 sys/kern/kern_ktrace.c:659
ktrstruct(ffff8000ffff62a0,ffffffff823afafa,fffffd806f685020,10) at ktrstruct+0x169 ktrwrite2 sys/kern/kern_ktrace.c:627 [inline]
ktrstruct(ffff8000ffff62a0,ffffffff823afafa,fffffd806f685020,10) at ktrstruct+0x169 sys/kern/kern_ktrace.c:311
sys_connect(ffff8000ffff62a0,ffff8000212570f8,ffff800021257140) at sys_connect+0x246
syscall(ffff8000212571c0) at syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
syscall(ffff8000212571c0) at syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7fffff7700, count: -12
ddb{1}> show registers
rdi 0x3
rsi 0xffffffff82748230 __sancov_gen_cov_switch_values.129
rbp 0xffff800021256bc0
rbx 0x3
rdx 0x8b
rcx 0x3
rax 0x1
r8 0xffffffff81e34c43 witness_checkorder+0xf33
r9 0x5
r10 0x4c8e2b2814ec0ddb
r11 0xa2a1f000558e67b5
r12 0xffffffff8284c2f0 w_lodata+0x4f730
r13 0
r14 0xffffffff8284c240 w_lodata+0x4f680
r15 0xfffffd8002c9b500
rip 0xffffffff82243a18 db_enter+0x18
cs 0x8
rflags 0x246
rsp 0xffff800021256bb0
ss 0x10
db_enter+0x18: addq $0x8,%rsp
ddb{1}> show proc
PROC (syz-executor1584) pid=302653 stat=onproc
flags process=2<EXEC,8ORPHAN> proc=1<INKTR>
pri=17, usrpri=52, nice=20
forw=0xffffffffffffffff, list=0xffff8000ffff67c0,0xffffffff828e9418
process=0xffff8000212375b0 user=0xffff800021252000, vmspace=0xfffffd806e93f8a8
estcpu=2, cpticks=0, pctcpu=0.0
user=0, sys=0, intr=0
ddb{1}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
*51336 302653 84077 0 7 0x3 syz-executor1584
84077 52317 99949 0 3 0x10008a pause ksh
99949 122278 17718 0 3 0x92 select sshd
94583 294790 1 0 3 0x100083 ttyin getty
17718 144098 1 0 3 0x80 select sshd
3821 78474 93020 74 3 0x100092 bpf pflogd
93020 357117 1 0 3 0x80 netio pflogd
24669 81746 7856 73 3 0x100090 kqread syslogd
7856 467612 1 0 3 0x100082 netio syslogd
22732 468064 1 77 3 0x100090 poll dhclient
98556 158448 1 0 3 0x80 poll dhclient
73584 90685 0 0 3 0x14200 bored smr
50517 29306 0 0 3 0x14200 pgzero zerothread
12470 346654 0 0 3 0x14200 aiodoned aiodoned
71962 341864 0 0 3 0x14200 syncer update
76674 41497 0 0 3 0x14200 cleaner cleaner
58511 296259 0 0 3 0x14200 reaper reaper
35112 351548 0 0 3 0x14200 pgdaemon pagedaemon
47776 416066 0 0 3 0x14200 bored crynlk
5296 120071 0 0 3 0x14200 bored crypto
8780 503052 0 0 3 0x14200 bored viomb
44738 73602 0 0 3 0x40014200 acpi0 acpi0
24823 515200 0 0 3 0x40014200 idle1
79885 424571 0 0 3 0x14200 bored softnet
28507 106394 0 0 3 0x14200 bored systqmp
75046 17946 0 0 3 0x14200 bored systq
82731 522933 0 0 3 0x40014200 bored softclock
70734 56280 0 0 7 0x40014200 idle0
1 111404 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{1}> show all locks
Process 51336 (syz-executor1584) thread 0xffff8000ffff62a0 (302653)
exclusive rwlock netlock r = 0 (0xffffffff8277e670)
#0 witness_lock+0x4b0 stacktrace_save sys/sys/stacktrace.h:36 [inline]
#0 witness_lock+0x4b0 sys/kern/subr_witness.c:1164
#1 uvn_io+0x31d sys/uvm/uvm_vnode.c:1224
#2 uvn_get+0x473 sys/uvm/uvm_vnode.c:1083
#3 uvm_fault+0xa41 sys/uvm/uvm_fault.c:1073
#4 kpageflttrap+0x202 sys/arch/amd64/amd64/trap.c:265
#5 kerntrap+0xef sys/arch/amd64/amd64/trap.c:321
#6 alltraps_kern_meltdown+0x7b
#7 copyin+0x53
#8 sys_connect+0x9b sys/kern/uipc_syscalls.c:362
#9 syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
#9 syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
#10 Xsyscall+0x128
exclusive kernel_lock &kernel_lock r = 1 (0xffffffff828cea78)
#0 witness_lock+0x4b0 stacktrace_save sys/sys/stacktrace.h:36 [inline]
#0 witness_lock+0x4b0 sys/kern/subr_witness.c:1164
#1 syscall+0x3fd mi_syscall sys/sys/syscall_mi.h:93 [inline]
#1 syscall+0x3fd sys/arch/amd64/amd64/trap.c:590
#2 Xsyscall+0x128
ddb{1}> show malloc
Type InUse MemUse HighUse Limit Requests Type Lim
devbuf 9474 6410K 6411K 78643K 10565 0
pcb 13 8K 8K 78643K 15 0
rtable 61 2K 2K 78643K 127 0
ifaddr 29 8K 8K 78643K 30 0
counters 39 33K 33K 78643K 39 0
ioctlops 0 0K 4K 78643K 1467 0
mount 1 1K 1K 78643K 1 0
vnodes 1183 74K 75K 78643K 1188 0
UFS quota 1 32K 32K 78643K 1 0
UFS mount 5 36K 36K 78643K 5 0
shm 2 1K 1K 78643K 2 0
VM map 2 1K 1K 78643K 2 0
sem 2 0K 0K 78643K 2 0
dirhash 12 2K 2K 78643K 12 0
ACPI 1825 197K 290K 78643K 13109 0
file desc 1 0K 0K 78643K 1 0
proc 59 63K 71K 78643K 367 0
NFS srvsock 1 0K 0K 78643K 1 0
NFS daemon 1 16K 16K 78643K 1 0
in_multi 11 0K 0K 78643K 11 0
ether_multi 1 0K 0K 78643K 1 0
ISOFS mount 1 32K 32K 78643K 1 0
MSDOSFS mount 1 16K 16K 78643K 1 0
ttys 19 95K 95K 78643K 19 0
exec 0 0K 2K 78643K 302 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 37 2K 2K 78643K 594 0
UVM aobj 3 2K 2K 78643K 3 0
memdesc 1 4K 4K 78643K 1 0
crypto data 1 1K 1K 78643K 1 0
NDP 4 0K 0K 78643K 4 0
temp 23 3949K 4013K 78643K 1690 0
kqueue 2 2K 2K 78643K 2 0
SYN cache 2 16K 16K 78643K 2 0
ddb{1}> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
arp 64 2 0 0 1 0 1 1 0 8 0
plcache 128 20 0 0 1 0 1 1 0 8 0
rtpcb 120 15 0 13 1 0 1 1 0 8 0
rtentry 112 23 0 1 1 0 1 1 0 8 0
unpcb 120 29 0 19 1 0 1 1 0 8 0
syncache 296 5 0 5 2 1 1 1 0 8 1
tcpcb 736 8 0 5 1 0 1 1 0 8 0
inpcb 296 30 0 23 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 8 0 0 1 0 1 1 0 8 0
pfstkey 112 8 0 0 1 0 1 1 0 8 0
pfstate 328 8 0 0 1 0 1 1 0 8 0
pfrule 1360 21 0 15 2 0 2 2 0 8 0
art_heap8 4096 1 0 0 1 0 1 1 0 8 0
art_heap4 256 97 0 0 7 0 7 7 0 8 0
art_table 32 98 0 0 1 0 1 1 0 8 0
art_node 16 22 0 2 1 0 1 1 0 8 0
dirhash 1024 17 0 0 3 0 3 3 0 8 0
dino2pl 256 1399 0 16 87 0 87 87 0 8 0
ffsino 272 1399 0 16 93 0 93 93 0 8 0
nchpl 144 1573 0 33 59 1 58 58 0 8 0
uvmvnodes 72 1409 0 0 26 0 26 26 0 8 0
vnodes 208 1409 0 0 75 0 75 75 0 8 0
namei 1024 3783 0 3783 2 1 1 1 0 8 1
percpumem 16 30 0 0 1 0 1 1 0 8 0
scxspl 216 3297 0 3297 2 1 1 2 0 8 1
plimitpl 152 14 0 8 1 0 1 1 0 8 0
sigapl 424 221 0 192 4 0 4 4 0 8 0
knotepl 112 5 0 0 1 0 1 1 0 8 0
kqueuepl 152 1 0 0 1 0 1 1 0 8 0
pipepl 304 64 0 60 2 1 1 1 0 8 0
fdescpl 496 205 0 192 3 0 3 3 0 8 0
filepl 152 960 0 909 2 0 2 2 0 8 0
lockfpl 104 5 0 4 1 0 1 1 0 8 0
lockfspl 48 3 0 2 1 0 1 1 0 8 0
sessionpl 144 18 0 9 1 0 1 1 0 8 0
pgrppl 48 18 0 9 1 0 1 1 0 8 0
ucredpl 96 62 0 53 1 0 1 1 0 8 0
zombiepl 144 192 0 192 2 1 1 1 0 8 1
processpl 1056 221 0 192 3 0 3 3 0 8 0
procpl 656 221 0 192 3 0 3 3 0 8 0
sockpl 400 74 0 55 2 0 2 2 0 8 0
mcl4k 4096 2 0 0 1 0 1 1 0 8 0
mcl2k 2048 67 0 0 9 0 9 9 0 8 0
mtagpl 96 1 0 0 1 0 1 1 0 8 0
mbufpl 256 87 0 0 6 0 6 6 0 8 0
bufpl 280 1934 0 112 131 0 131 131 0 8 0
anonpl 16 19596 0 18363 8 2 6 7 0 124 1
amapchunkpl 152 527 0 490 3 1 2 3 0 158 0
amappl16 192 80 0 76 1 0 1 1 0 8 0
amappl15 184 1 0 0 1 0 1 1 0 8 0
amappl14 176 22 0 19 1 0 1 1 0 8 0
amappl13 168 14 0 13 2 1 1 1 0 8 0
amappl12 160 5 0 5 1 1 0 1 0 8 0
amappl11 152 47 0 32 1 0 1 1 0 8 0
amappl10 144 10 0 7 1 0 1 1 0 8 0
amappl9 136 197 0 197 2 1 1 1 0 8 1
amappl8 128 62 0 61 1 0 1 1 0 8 0
amappl7 120 211 0 210 1 0 1 1 0 8 0
amappl6 112 57 0 50 1 0 1 1 0 8 0
amappl5 104 357 0 340 1 0 1 1 0 8 0
amappl4 96 283 0 258 1 0 1 1 0 8 0
amappl3 88 104 0 97 1 0 1 1 0 8 0
amappl2 80 854 0 802 3 1 2 2 0 8 0
amappl1 72 14320 0 13898 15 5 10 15 0 8 0
amappl 80 403 0 383 1 0 1 1 0 84 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 64 2 0 0 1 0 1 1 0 8 0
uaddrrnd 24 205 0 192 1 0 1 1 0 8 0
uaddrbest 32 2 0 0 1 0 1 1 0 8 0
uaddr 24 205 0 192 1 0 1 1 0 8 0
vmmpekpl 168 5583 0 5565 1 0 1 1 0 8 0
vmmpepl 168 29906 0 29079 48 8 40 48 0 357 2
vmsppl 368 204 0 192 2 0 2 2 0 8 0
pdppl 4096 417 0 384 47 14 33 39 0 8 0
pvpl 32 80559 0 77564 29 1 28 28 0 265 1
pmappl 232 204 0 192 1 0 1 1 0 8 0
extentpl 40 57 0 39 1 0 1 1 0 8 0
phpool 112 266 0 17 8 0 8 8 0 8 0
ddb{1}> machine ddbcpu 0
Stopped at x86_ipi_db+0x1a: addq $0x8,%rsp
ddb{0}> trace
x86_ipi_db(ffffffff8272eff0) at x86_ipi_db+0x1a sys/arch/amd64/amd64/db_interface.c:352
x86_ipi_handler() at x86_ipi_handler+0xb7 sys/arch/amd64/amd64/ipi.c:106
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline]
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 sys/kern/kern_lock.c:147
intr_handler(ffff80002117ed20,ffff80000065a300) at intr_handler+0x5e sys/arch/amd64/amd64/intr.c:532
Xintr_ioapic_edge4_untramp() at Xintr_ioapic_edge4_untramp+0x19f
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 __mp_lock_spin sys/kern/kern_lock.c:116 [inline]
__mp_lock(ffffffff828ce870) at __mp_lock+0x122 sys/kern/kern_lock.c:147
softintr_dispatch(0) at softintr_dispatch+0x4e sys/arch/amd64/amd64/softintr.c:90
Xsoftclock() at Xsoftclock+0x1f
acpicpu_idle() at acpicpu_idle+0x2eb sys/dev/acpi/acpicpu.c:1206
sched_idle(ffffffff8272eff0) at sched_idle+0x417 sys/kern/kern_sched.c:178
end trace frame: 0x0, count: -11
ddb{0}> machine ddbcpu 1
Stopped at db_enter+0x18: addq $0x8,%rsp
ddb{1}> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398
witness_checkorder(fffffd806d95cb48,9,0) at witness_checkorder+0xf5a witness_debugger sys/kern/subr_witness.c:2490 [inline]
witness_checkorder(fffffd806d95cb48,9,0) at witness_checkorder+0xf5a sys/kern/subr_witness.c:1087
rw_enter(fffffd806d95cb38,1) at rw_enter+0xd4
rrw_enter(fffffd806d95cb38,1) at rrw_enter+0x88 sys/kern/kern_rwlock.c:462
VOP_LOCK(fffffd806d9479e0,2001) at VOP_LOCK+0x4b sys/kern/vfs_vops.c:614
vn_lock(fffffd806d9479e0,2001) at vn_lock+0x6c sys/kern/vfs_vnops.c:575
vget(fffffd806d9479e0,2001) at vget+0x1c6 sys/kern/vfs_subr.c:671
ktrwriteraw(ffff8000ffff62a0,fffffd806d9479e0,fffffd807f7b7a20,ffff800021256fb0,ffff800021256f90) at ktrwriteraw+0x138 sys/kern/kern_ktrace.c:659
ktrstruct(ffff8000ffff62a0,ffffffff823afafa,fffffd806f685020,10) at ktrstruct+0x169 ktrwrite2 sys/kern/kern_ktrace.c:627 [inline]
ktrstruct(ffff8000ffff62a0,ffffffff823afafa,fffffd806f685020,10) at ktrstruct+0x169 sys/kern/kern_ktrace.c:311
sys_connect(ffff8000ffff62a0,ffff8000212570f8,ffff800021257140) at sys_connect+0x246
syscall(ffff8000212571c0) at syscall+0x4a1 mi_syscall sys/sys/syscall_mi.h:102 [inline]
syscall(ffff8000212571c0) at syscall+0x4a1 sys/arch/amd64/amd64/trap.c:590
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7fffff7700, count: -12
ddb{1}>

Anton Lindqvist

no leída,
27 oct 2020, 15:48:1827/10/20
a syzbot,syzkaller-o...@googlegroups.com
Suppressed by now.

#syz invalid
Responder a todos
Responder al autor
Reenviar
0 mensajes nuevos