panic: ufsdirhash_lookup: bad offset in hash array (3)

0 views
Skip to first unread message

syzbot

unread,
Feb 20, 2023, 7:28:54 AM2/20/23
to syzkaller-o...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 1e5b016c5082 sync for __syscall removal
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=12dc70f0c80000
kernel config: https://syzkaller.appspot.com/x/.config?x=7058272de1526588
dashboard link: https://syzkaller.appspot.com/bug?extid=55489c8added13743790

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/cb9a404e2563/disk-1e5b016c.raw.xz
bsd.gdb: https://storage.googleapis.com/syzbot-assets/27dc2036237a/bsd-1e5b016c.gdb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/ea0ea667b9fa/kernel-1e5b016c.xz

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

panic: ufsdirhash_lookup: bad offset in hash array
Stopped at db_enter+0x18: addq $0x8,%rsp
TID PID UID PRFLAGS PFLAGS CPU COMMAND
*334005 27678 0 0 0x4000000 0K syz-executor.7
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff828183d2) at panic+0x177 sys/kern/subr_prf.c:198
ufsdirhash_lookup(fffffd80672eacd0,ffff800021200c00,1,fffffd80672ead9c,ffff800027ba51c8,ffff800027ba51d4) at ufsdirhash_lookup+0x8b8 sys/ufs/ufs/ufs_dirhash.c:343
ufs_lookup() at ufs_lookup+0xc15 sys/ufs/ufs/ufs_lookup.c:216
VOP_LOOKUP(fffffd80648e3200,ffff800027ba5528,ffff800027ba5558) at VOP_LOOKUP+0x58 sys/kern/vfs_vops.c:85
vfs_lookup(ffff800027ba54f8) at vfs_lookup+0x6e5 sys/kern/vfs_lookup.c:566
namei(ffff800027ba54f8) at namei+0x55a sys/kern/vfs_lookup.c:250
dorenameat(ffff80002392d350,46,20000040,47,20000100) at dorenameat+0x7b sys/kern/vfs_syscalls.c:2989
syscall(ffff800027ba56f0) at syscall+0x5e2 mi_syscall sys/sys/syscall_mi.h:110 [inline]
syscall(ffff800027ba56f0) at syscall+0x5e2 sys/arch/amd64/amd64/trap.c:625
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xdceb57a5930, count: 5
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.


---
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

unread,
Dec 11, 2023, 3:49:31 PM12/11/23
to syzkaller-o...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 69703a933fd2 drm/amd/display: Restore rptr/wptr for DMCUB ..
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=1194afdae80000
kernel config: https://syzkaller.appspot.com/x/.config?x=1bc15e68cd2a49e5
dashboard link: https://syzkaller.appspot.com/bug?extid=55489c8added13743790
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11cd330ae80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16b5c3bce80000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/d5509610a26f/disk-69703a93.raw.xz
bsd.gdb: https://storage.googleapis.com/syzbot-assets/bfd414f0d6f8/bsd-69703a93.gdb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/264fa314a8f6/kernel-69703a93.xz

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

panic: ufsdirhash_lookup: bad offset in hash array
Stopped at db_enter+0x1c: addq $0x8,%rsp
TID PID UID PRFLAGS PFLAGS CPU COMMAND
*519552 49891 0 0x2 0 0 syz-executor3242402682
db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff82850008) at panic+0x165 sys/kern/subr_prf.c:198
ufsdirhash_lookup(fffffd807a99d000,ffffffff8282dfdc,2,fffffd807a99d0ac,ffff80002167c528,0) at ufsdirhash_lookup+0x8b8 sys/ufs/ufs/ufs_dirhash.c:343
ufs_lookup() at ufs_lookup+0xc15 sys/ufs/ufs/ufs_lookup.c:216
VOP_LOOKUP(fffffd806f444008,ffff80002167c6c8,ffff80002167c668) at VOP_LOOKUP+0x5c sys/kern/vfs_vops.c:85
unveil_find_cover(fffffd806f444008,ffff8000216332b0) at unveil_find_cover+0x130 sys/kern/kern_unveil.c:277
unveil_start_relative(ffff8000216332b0,ffff80002167ca08,fffffd806f444008) at unveil_start_relative+0xf6 sys/kern/kern_unveil.c:606
namei(ffff80002167ca08) at namei+0x453 sys/kern/vfs_lookup.c:237
vn_open(ffff80002167ca08,201,0) at vn_open+0x17b sys/kern/vfs_vnops.c:107
doopenat(ffff8000216332b0,4,20000240,200,0,ffff80002167cbe0) at doopenat+0x26e sys/kern/vfs_syscalls.c:1126
syscall(ffff80002167cc60) at syscall+0x4a8 sys/arch/amd64/amd64/trap.c:623
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x77f7b9a7c9e0, count: 3
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb>
ddb> set $lines = 0
ddb> set $maxwidth = 0
ddb> show panic
*cpu0: ufsdirhash_lookup: bad offset in hash array
ddb> trace
db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff82850008) at panic+0x165 sys/kern/subr_prf.c:198
ufsdirhash_lookup(fffffd807a99d000,ffffffff8282dfdc,2,fffffd807a99d0ac,ffff80002167c528,0) at ufsdirhash_lookup+0x8b8 sys/ufs/ufs/ufs_dirhash.c:343
ufs_lookup() at ufs_lookup+0xc15 sys/ufs/ufs/ufs_lookup.c:216
VOP_LOOKUP(fffffd806f444008,ffff80002167c6c8,ffff80002167c668) at VOP_LOOKUP+0x5c sys/kern/vfs_vops.c:85
unveil_find_cover(fffffd806f444008,ffff8000216332b0) at unveil_find_cover+0x130 sys/kern/kern_unveil.c:277
unveil_start_relative(ffff8000216332b0,ffff80002167ca08,fffffd806f444008) at unveil_start_relative+0xf6 sys/kern/kern_unveil.c:606
namei(ffff80002167ca08) at namei+0x453 sys/kern/vfs_lookup.c:237
vn_open(ffff80002167ca08,201,0) at vn_open+0x17b sys/kern/vfs_vnops.c:107
doopenat(ffff8000216332b0,4,20000240,200,0,ffff80002167cbe0) at doopenat+0x26e sys/kern/vfs_syscalls.c:1126
syscall(ffff80002167cc60) at syscall+0x4a8 sys/arch/amd64/amd64/trap.c:623
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x77f7b9a7c9e0, count: -12
ddb> show registers
rdi 0
rsi 0x1
rbp 0xffff80002167c350
rbx 0
rdx 0x3fd
rcx 0
rax 0x33
r8 0x101010101010101
r9 0x8080808080808080
r10 0xb65f466c48732e01
r11 0xddb7fe742e7d0e5e
r12 0
r13 0xffff8000006c6620
r14 0
r15 0x1
rip 0xffffffff820a424c db_enter+0x1c
cs 0x8
rflags 0x246
rsp 0xffff80002167c340
ss 0x10
db_enter+0x1c: addq $0x8,%rsp
ddb> show proc
PROC (syz-executor3242402682) tid=519552 pid=49891 tcnt=1 stat=onproc
flags process=2<EXEC> proc=0
runpri=17, usrpri=51, slppri=17, nice=20
wchan=0x0, wmesg=, ps_single=0x0
forw=0xffffffffffffffff, list=0xffff8000216342a0,0xffffffff82d196f0
process=0xffff8000ffffabe0 user=0xffff800021677000, vmspace=0xfffffd807f010450
estcpu=1, cpticks=0, pctcpu=0.0, user=0, sys=0, intr=0
ddb> ps
PID TID PPID UID S FLAGS WAIT COMMAND
*49891 519552 24613 0 7 0x2 syz-executor3242402682
24613 485335 19872 0 3 0x10008a sigsusp ksh
19872 47587 53896 0 3 0x9a kqread sshd
54004 36575 1 0 3 0x100083 ttyin getty
53896 273999 1 0 3 0x88 kqread sshd
39857 402008 42357 73 3 0x1100090 kqread syslogd
42357 109801 1 0 3 0x100082 netio syslogd
96104 511372 1 0 3 0x100080 kqread resolvd
51967 141742 61354 77 3 0x100092 kqread dhcpleased
70726 358230 61354 77 3 0x100092 kqread dhcpleased
61354 467764 1 0 3 0x80 kqread dhcpleased
21550 141932 0 0 3 0x14200 bored smr
20398 453106 0 0 3 0x14200 pgzero zerothread
57343 249264 0 0 3 0x14200 aiodoned aiodoned
29004 392821 0 0 3 0x14200 syncer update
58614 24995 0 0 3 0x14200 cleaner cleaner
65882 433411 0 0 3 0x14200 reaper reaper
77527 384964 0 0 3 0x14200 pgdaemon pagedaemon
40181 328759 0 0 3 0x14200 bored viomb
86962 449361 0 0 3 0x40014200 acpi0 acpi0
16009 325219 0 0 3 0x14200 bored softnet3
85144 325260 0 0 3 0x14200 bored softnet2
45744 465567 0 0 3 0x14200 bored softnet1
85477 293425 0 0 3 0x14200 bored softnet0
72459 415275 0 0 3 0x14200 bored systqmp
26826 320549 0 0 3 0x14200 bored systq
86320 237688 0 0 3 0x40014200 tmoslp softclock
15280 337423 0 0 3 0x40014200 idle0
1 510796 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb> show all locks
No such command
ddb> show malloc
Type InUse MemUse HighUse Limit Requests Type Lim
devbuf 10142 6382K 6414K 78643K 11220 0
pcb 13 8K 8K 78643K 13 0
rtable 58 1K 2K 78643K 112 0
pf 12 6K 6K 78643K 12 0
ifaddr 11 5K 5K 78643K 11 0
ifgroup 17 1K 1K 78643K 17 0
counters 20 16K 16K 78643K 20 0
ioctlops 0 0K 2K 78643K 21 0
mount 1 1K 1K 78643K 1 0
log 0 0K 0K 78643K 4 0
vnodes 1174 73K 74K 78643K 1187 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 21 3K 3K 78643K 21 0
ACPI 1697 195K 286K 78643K 12548 0
file desc 1 0K 0K 78643K 1 0
proc 56 66K 66K 78643K 247 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 25 122K 122K 78643K 25 0
exec 0 0K 1K 78643K 246 0
tdb 3 0K 0K 78643K 3 0
pagedep 1 8K 8K 78643K 1 0
inodedep 1 32K 32K 78643K 1 0
newblk 1 0K 0K 78643K 1 0
VM swap 8 62K 64K 78643K 10 0
UVM amap 85 3K 5K 78643K 2244 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 3 0K 0K 78643K 3 0
temp 1 5900K 5964K 78643K 2774 0
kqueue 11 16K 18K 78643K 24 0
SYN cache 2 16K 16K 78643K 2 0
ddb> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
rtpcb 120 21 0 18 1 0 1 1 0 8 0
rtentry 112 23 0 1 1 0 1 1 0 8 0
unpcb 144 33 0 20 1 0 1 1 0 8 0
syncache 312 5 0 5 1 0 1 1 0 8 1
tcpqe 32 138 0 138 1 1 0 1 0 8 0
tcpcb 808 8 0 5 1 0 1 1 0 8 0
arp 88 2 0 0 1 0 1 1 0 8 0
inpcb 336 26 0 20 1 0 1 1 0 8 0
art_heap8 4096 1 0 0 1 0 1 1 0 8 0
art_heap4 256 96 0 0 6 0 6 6 0 8 0
art_table 32 97 0 0 1 0 1 1 0 8 0
art_node 16 22 0 2 1 0 1 1 0 8 0
dirhash 1024 20 0 0 3 0 3 3 0 8 0
dino2pl 256 1425 0 37 87 0 87 87 0 8 0
ffsino 240 1425 0 37 82 0 82 82 0 8 0
nchpl 144 1608 0 53 58 0 58 58 0 8 0
uvmvnodes 80 1434 0 0 30 0 30 30 0 8 0
vnodes 216 1434 0 0 80 0 80 80 0 8 0
namei 1024 4283 0 4282 1 0 1 1 0 8 0
kstatmem 264 6 0 0 1 0 1 1 0 8 0
scxspl 216 4628 0 4628 2 1 1 2 1 8 1
plimitpl 152 16 0 10 1 0 1 1 0 8 0
sigapl 424 311 0 282 4 0 4 4 0 8 0
knotepl 120 3320 0 3291 2 0 2 2 0 8 1
kqueuepl 184 20 0 13 1 0 1 1 0 8 0
pipepl 288 88 0 85 1 0 1 1 0 8 0
fdescpl 432 295 0 282 2 0 2 2 0 8 0
filepl 120 1135 0 1079 2 0 2 2 0 8 0
lockfpl 104 6 0 4 1 0 1 1 0 8 0
lockfspl 48 4 0 2 1 0 1 1 0 8 0
sessionpl 144 17 0 9 1 0 1 1 0 8 0
pgrppl 48 17 0 9 1 0 1 1 0 8 0
ucredpl 104 66 0 56 1 0 1 1 0 8 0
zombiepl 144 282 0 282 1 0 1 1 0 8 1
processpl 1008 311 0 282 5 1 4 5 0 8 0
procpl 680 311 0 282 3 0 3 3 0 8 0
sockpl 456 80 0 58 3 0 3 3 0 8 0
mcl8k 8192 4 0 4 1 1 0 1 0 8 0
mcl4k 4096 10 0 10 1 0 1 1 0 8 1
mcl2k 2048 10879 0 10841 27 17 10 27 0 8 4
mtagpl 96 4 0 4 1 1 0 1 0 8 0
mbufpl 256 17552 0 17509 15 9 6 15 0 8 0
bufpl 288 2402 0 87 166 0 166 166 0 8 0
anonpl 24 182974 0 181158 24 6 18 24 0 188 7
amapchunkpl 152 8537 0 8408 7 1 6 7 0 158 0
amappl16 200 5353 0 5352 5 4 1 5 0 8 0
amappl15 192 15 0 15 1 1 0 1 0 8 0
amappl14 184 135 0 126 1 0 1 1 0 8 0
amappl13 176 11 0 11 1 1 0 1 0 8 0
amappl12 168 797 0 784 1 0 1 1 0 8 0
amappl11 160 47 0 37 1 0 1 1 0 8 0
amappl10 152 17 0 17 1 0 1 1 0 8 1
amappl9 144 97 0 97 1 1 0 1 0 8 0
amappl8 136 37 0 35 1 0 1 1 0 8 0
amappl7 128 91 0 81 1 0 1 1 0 8 0
amappl6 120 118 0 113 1 0 1 1 0 8 0
amappl5 112 108 0 100 1 0 1 1 0 8 0
amappl4 104 326 0 306 1 0 1 1 0 8 0
amappl3 96 2312 0 2281 1 0 1 1 0 8 0
amappl2 88 617 0 568 2 0 2 2 0 8 0
amappl1 80 8838 0 8414 11 0 11 11 0 8 0
amappl 88 1971 0 1924 2 0 2 2 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 2 0 0 1 0 1 1 0 8 0
uaddrrnd 24 295 0 282 1 0 1 1 0 8 0
uaddrbest 32 2 0 0 1 0 1 1 0 8 0
uaddr 24 295 0 282 1 0 1 1 0 8 0
vmmpekpl 168 6872 0 6856 1 0 1 1 0 8 0
vmmpepl 168 34347 0 33438 47 1 46 47 0 357 6
vmsppl 368 294 0 282 2 0 2 2 0 8 0
rwobjpl 24 18752 0 16700 14 1 13 14 0 8 0
pdppl 4096 597 0 564 49 16 33 41 0 8 0
pvpl 32 278528 0 274366 52 6 46 52 0 265 9
pmappl 216 294 0 282 1 0 1 1 0 8 0
extentpl 40 56 0 38 1 0 1 1 0 8 0
phpool 112 451 0 45 13 0 13 13 0 8 0
ddb> machine ddbcpu 0
No such command
ddb> trace
db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff82850008) at panic+0x165 sys/kern/subr_prf.c:198
ufsdirhash_lookup(fffffd807a99d000,ffffffff8282dfdc,2,fffffd807a99d0ac,ffff80002167c528,0) at ufsdirhash_lookup+0x8b8 sys/ufs/ufs/ufs_dirhash.c:343
ufs_lookup() at ufs_lookup+0xc15 sys/ufs/ufs/ufs_lookup.c:216
VOP_LOOKUP(fffffd806f444008,ffff80002167c6c8,ffff80002167c668) at VOP_LOOKUP+0x5c sys/kern/vfs_vops.c:85
unveil_find_cover(fffffd806f444008,ffff8000216332b0) at unveil_find_cover+0x130 sys/kern/kern_unveil.c:277
unveil_start_relative(ffff8000216332b0,ffff80002167ca08,fffffd806f444008) at unveil_start_relative+0xf6 sys/kern/kern_unveil.c:606
namei(ffff80002167ca08) at namei+0x453 sys/kern/vfs_lookup.c:237
vn_open(ffff80002167ca08,201,0) at vn_open+0x17b sys/kern/vfs_vnops.c:107
doopenat(ffff8000216332b0,4,20000240,200,0,ffff80002167cbe0) at doopenat+0x26e sys/kern/vfs_syscalls.c:1126
syscall(ffff80002167cc60) at syscall+0x4a8 sys/arch/amd64/amd64/trap.c:623
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x77f7b9a7c9e0, count: -12
ddb> machine ddbcpu 1
No such command
ddb> trace
db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff82850008) at panic+0x165 sys/kern/subr_prf.c:198
ufsdirhash_lookup(fffffd807a99d000,ffffffff8282dfdc,2,fffffd807a99d0ac,ffff80002167c528,0) at ufsdirhash_lookup+0x8b8 sys/ufs/ufs/ufs_dirhash.c:343
ufs_lookup() at ufs_lookup+0xc15 sys/ufs/ufs/ufs_lookup.c:216
VOP_LOOKUP(fffffd806f444008,ffff80002167c6c8,ffff80002167c668) at VOP_LOOKUP+0x5c sys/kern/vfs_vops.c:85
unveil_find_cover(fffffd806f444008,ffff8000216332b0) at unveil_find_cover+0x130 sys/kern/kern_unveil.c:277
unveil_start_relative(ffff8000216332b0,ffff80002167ca08,fffffd806f444008) at unveil_start_relative+0xf6 sys/kern/kern_unveil.c:606
namei(ffff80002167ca08) at namei+0x453 sys/kern/vfs_lookup.c:237
vn_open(ffff80002167ca08,201,0) at vn_open+0x17b sys/kern/vfs_vnops.c:107
doopenat(ffff8000216332b0,4,20000240,200,0,ffff80002167cbe0) at doopenat+0x26e sys/kern/vfs_syscalls.c:1126
syscall(ffff80002167cc60) at syscall+0x4a8 sys/arch/amd64/amd64/trap.c:623
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x77f7b9a7c9e0, count: -12
ddb>


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
Reply all
Reply to author
Forward
0 new messages