assert "cifp != NULL" failed in route.c (3)

0 views
Skip to first unread message

syzbot

unread,
Feb 15, 2024, 4:51:22 AMFeb 15
to syzkaller-o...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 04fce66c3f2b Remove spurious GET_CURPROC in copyout() mist..
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=16ef04d0180000
kernel config: https://syzkaller.appspot.com/x/.config?x=1bc15e68cd2a49e5
dashboard link: https://syzkaller.appspot.com/bug?extid=759dc7e9bbcff5e70fd3

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/a42c0e172400/disk-04fce66c.raw.xz
bsd.gdb: https://storage.googleapis.com/syzbot-assets/92b794f04f5e/bsd-04fce66c.gdb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/2746d220faaa/kernel-04fce66c.xz

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

panic: kernel diagnostic assertion "cifp != NULL" failed: file "/syzkaller/managers/main/kernel/sys/net/route.c", line 1032
Stopped at db_enter+0x1c: addq $0x8,%rsp
TID PID UID PRFLAGS PFLAGS CPU COMMAND
*302376 68067 0 0 0x4000000 0 syz-executor.0
db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff828405d8) at panic+0x165 sys/kern/subr_prf.c:198
__assert(ffffffff828c1d42,ffffffff828798b1,408,ffffffff8289312c) at __assert+0x29 sys/kern/subr_prf.c:157
rtrequest(1,ffff80002f55cc68,0,ffff80002f55cbd8,0) at rtrequest+0xb6e sys/net/route.c:1032
rtm_output(ffff800000dcf900,ffff80002f55cd10,ffff80002f55cc68,0,0) at rtm_output+0x5f7 sys/net/rtsock.c:959
route_output(fffffd806f9b8c00,fffffd806bb3d9a8) at route_output+0x6bc sys/net/rtsock.c:864
route_send(fffffd806bb3d9a8,fffffd806f9b8c00,0,0) at route_send+0x8f sys/net/rtsock.c:340
sosend(fffffd806bb3d9a8,0,ffff80002f55cee0,0,0,0) at sosend+0x66d
sendit(ffff80002a6b1298,3,ffff80002f55cfe0,0,ffff80002f55d090) at sendit+0x65d sys/kern/uipc_syscalls.c:786
sys_sendto(ffff80002a6b1298,ffff80002f55d140,ffff80002f55d090) at sys_sendto+0x84 sys/kern/uipc_syscalls.c:564
syscall(ffff80002f55d140) at syscall+0x751 sys/arch/amd64/amd64/trap.c:577
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xe09d977b070, 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: kernel diagnostic assertion "cifp != NULL" failed: file "/syzkaller/managers/main/kernel/sys/net/route.c", line 1032
ddb> trace
db_enter() at db_enter+0x1c sys/arch/amd64/amd64/db_interface.c:437
panic(ffffffff828405d8) at panic+0x165 sys/kern/subr_prf.c:198
__assert(ffffffff828c1d42,ffffffff828798b1,408,ffffffff8289312c) at __assert+0x29 sys/kern/subr_prf.c:157
rtrequest(1,ffff80002f55cc68,0,ffff80002f55cbd8,0) at rtrequest+0xb6e sys/net/route.c:1032
rtm_output(ffff800000dcf900,ffff80002f55cd10,ffff80002f55cc68,0,0) at rtm_output+0x5f7 sys/net/rtsock.c:959
route_output(fffffd806f9b8c00,fffffd806bb3d9a8) at route_output+0x6bc sys/net/rtsock.c:864
route_send(fffffd806bb3d9a8,fffffd806f9b8c00,0,0) at route_send+0x8f sys/net/rtsock.c:340
sosend(fffffd806bb3d9a8,0,ffff80002f55cee0,0,0,0) at sosend+0x66d
sendit(ffff80002a6b1298,3,ffff80002f55cfe0,0,ffff80002f55d090) at sendit+0x65d sys/kern/uipc_syscalls.c:786
sys_sendto(ffff80002a6b1298,ffff80002f55d140,ffff80002f55d090) at sys_sendto+0x84 sys/kern/uipc_syscalls.c:564
syscall(ffff80002f55d140) at syscall+0x751 sys/arch/amd64/amd64/trap.c:577
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xe09d977b070, count: -12
ddb> show registers
rdi 0
rsi 0x1
rbp 0xffff80002f55c9f0
rbx 0x10000 __ALIGN_SIZE+0xf000
rdx 0xffff800000ee3440
rcx 0xffff800000ee3440
rax 0xffff80002a6b1298
r8 0
r9 0x8080808080808080
r10 0xdbebe93585d3e42
r11 0x11768f43cdd0415a
r12 0
r13 0xffff80002f55cc68
r14 0
r15 0x1
rip 0xffffffff81684d9c db_enter+0x1c
cs 0x8
rflags 0x246
rsp 0xffff80002f55c9e0
ss 0x10
db_enter+0x1c: addq $0x8,%rsp
ddb> show proc
PROC (syz-executor.0) tid=302376 pid=68067 tcnt=2 stat=onproc
flags process=0 proc=4000000<THREAD>
runpri=32, usrpri=86, slppri=32, nice=20
wchan=0x0, wmesg=, ps_single=0x0
forw=0xffffffffffffffff, list=0xffff80002a6b0d48,0xffffffff82d495c8
process=0xffff800035e05938 user=0xffff80002f558000, vmspace=0xfffffd806af801a0
estcpu=36, cpticks=19, pctcpu=0.0, user=0, sys=19, intr=0
ddb> ps
PID TID PPID UID S FLAGS WAIT COMMAND
68067 222836 26536 0 2 0 syz-executor.0
*68067 302376 26536 0 7 0x4000000 syz-executor.0
97133 467610 27127 0 2 0 syz-executor.5
97133 506344 27127 0 2 0x4000000 syz-executor.5
97133 310068 27127 0 2 0x4000000 syz-executor.5
73037 394193 36188 0 2 0 syz-executor.2
73037 85416 36188 0 3 0x4000080 netio syz-executor.2
85448 334953 58961 0 2 0 syz-executor.7
85448 192388 58961 0 3 0x4000080 kqread syz-executor.7
21418 430351 76428 0 2 0x480 syz-executor.6
21418 369093 76428 0 3 0x4000080 netcon syz-executor.6
21418 135559 76428 0 3 0x4000080 fsleep syz-executor.6
58961 293639 10668 0 2 0x482 syz-executor.7
26536 445014 10668 0 2 0x482 syz-executor.0
90265 139037 10668 0 2 0x2 syz-executor.1
76428 215216 10668 0 2 0x482 syz-executor.6
36188 146252 10668 0 2 0x482 syz-executor.2
83877 358998 0 0 3 0x14200 acct acct
10703 229739 10668 0 2 0x2 syz-executor.4
7741 505084 1 0 3 0x100083 ttyin getty
68783 218684 0 0 3 0x14200 bored sosplice
27127 89211 10668 0 2 0x482 syz-executor.5
10668 292300 31680 0 3 0x2000082 wait syz-fuzzer
10668 45570 31680 0 2 0x6000482 syz-fuzzer
10668 195651 31680 0 3 0x6000082 wait syz-fuzzer
10668 253190 31680 0 3 0x6000082 wait syz-fuzzer
10668 194879 31680 0 3 0x6000082 thrsleep syz-fuzzer
10668 386512 31680 0 3 0x6000082 wait syz-fuzzer
10668 317318 31680 0 3 0x6000082 wait syz-fuzzer
10668 372745 31680 0 3 0x6000082 thrsleep syz-fuzzer
10668 283956 31680 0 3 0x6000082 thrsleep syz-fuzzer
10668 454637 31680 0 3 0x6000082 wait syz-fuzzer
10668 354549 31680 0 3 0x6000082 thrsleep syz-fuzzer
10668 388924 31680 0 3 0x6000082 wait syz-fuzzer
10668 494789 31680 0 2 0x6000482 syz-fuzzer
10668 304127 31680 0 3 0x6000082 wait syz-fuzzer
31680 187663 53725 0 3 0x10008a sigsusp ksh
53725 70864 95143 0 3 0x9a kqread sshd
95143 277384 1 0 3 0x88 kqread sshd
13598 414122 27436 73 3 0x1100090 kqread syslogd
27436 433567 1 0 3 0x100082 netio syslogd
89515 269386 1 0 3 0x100080 kqread resolvd
51041 268171 83638 77 3 0x100092 kqread dhcpleased
4988 309564 83638 77 3 0x100092 kqread dhcpleased
83638 169367 1 0 3 0x80 kqread dhcpleased
73540 103877 0 0 2 0x14200 smr
45244 82396 0 0 2 0x14200 zerothread
11528 377014 0 0 3 0x14200 aiodoned aiodoned
57017 157872 0 0 3 0x14200 syncer update
45359 189519 0 0 3 0x14200 cleaner cleaner
80239 522517 0 0 3 0x14200 reaper reaper
65988 336247 0 0 3 0x14200 pgdaemon pagedaemon
25032 56176 0 0 3 0x14200 bored viomb
67484 437073 0 0 3 0x40014200 acpi0 acpi0
53977 138223 0 0 3 0x14200 bored softnet3
70705 449356 0 0 3 0x14200 bored softnet2
92480 55668 0 0 3 0x14200 bored softnet1
69483 458394 0 0 3 0x14200 bored softnet0
97287 451956 0 0 3 0x14200 bored systqmp
59920 310781 0 0 3 0x14200 bored systq
53851 435942 0 0 2 0x40014200 softclock
14952 245762 0 0 3 0x40014200 idle0
1 30896 0 0 3 0x80082 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 10205 6472K 7534K 166960K 24145 0
pcb 15 14K 16K 166960K 608 0
rtable 221 15K 15K 166960K 1308 0
pf 33 9K 10K 166960K 127 0
ifaddr 42 11K 12K 166960K 135 0
ifgroup 58 2K 2K 166960K 206 0
sysctl 3 0K 0K 166960K 5 0
counters 32 17K 17K 166960K 73 0
ioctlops 0 0K 2K 166960K 504 0
iov 0 0K 28K 166960K 792 0
mount 1 1K 1K 166960K 1 0
log 0 0K 0K 166960K 4 0
vnodes 1508 94K 94K 166960K 5307 0
UFS quota 1 32K 32K 166960K 1 0
UFS mount 5 36K 36K 166960K 5 0
shm 2 1K 9K 166960K 87 0
VM map 2 1K 1K 166960K 2 0
sem 12 0K 1K 166960K 704 0
dirhash 78 14K 17K 166960K 2703 0
ACPI 1697 195K 286K 166960K 12548 0
file desc 15 53K 77K 166960K 5700 0
sigio 0 0K 0K 166960K 132 0
proc 58 59K 75K 166960K 1006 0
subproc 104 6K 6K 166960K 260 0
NFS srvsock 1 0K 0K 166960K 1 0
NFS daemon 1 16K 16K 166960K 1 0
ip_moptions 0 0K 0K 166960K 210 0
in_multi 88 6K 7K 166960K 296 0
ether_multi 1 0K 0K 166960K 1 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 205 917K 917K 166960K 205 0
exec 0 0K 1K 166960K 1232 0
pfkey data 0 0K 0K 166960K 4 0
tdb 3 0K 0K 166960K 3 0
VM swap 8 62K 64K 166960K 10 0
UVM amap 384 253K 255K 166960K 54141 0
UVM aobj 131 6K 6K 166960K 145 0
memdesc 1 4K 4K 166960K 1 0
crypto data 1 1K 1K 166960K 1 0
ip6_options 0 0K 1K 166960K 201 0
NDP 13 0K 1K 166960K 96 0
temp 74 6704K 6832K 166960K 54988 0
kqueue 12 18K 30K 166960K 428 0
SYN cache 2 16K 16K 166960K 2 0
ddb> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
rtpcb 120 445 0 440 3 0 3 3 0 8 2
rtentry 112 424 0 324 4 0 4 4 0 8 0
unpcb 144 5100 0 5086 8 0 8 8 0 8 7
syncache 320 35 0 35 1 0 1 1 0 8 1
tcpqe 32 226 0 226 1 0 1 1 0 8 1
tcpcb 808 1484 0 1477 9 0 9 9 0 8 8
arp 88 69 0 53 1 0 1 1 0 8 0
ipq 40 6 0 6 1 0 1 1 0 8 1
ipqe 40 18 0 18 1 0 1 1 0 8 1
inpcb 344 3850 0 3834 14 5 9 14 0 8 7
nd6 104 66 0 44 1 0 1 1 0 8 0
pkpcb 40 113 0 113 1 0 1 1 0 8 1
kcovpl 48 20 0 12 1 0 1 1 0 8 0
ppxss 1072 14 0 14 1 0 1 1 0 8 1
rttmr 136 2 0 2 1 0 1 1 0 8 1
art_heap8 4096 4 0 3 3 0 3 3 0 8 2
art_heap4 256 1476 0 1041 32 0 32 32 0 8 2
art_table 32 1480 0 1044 5 0 5 5 0 8 0
art_node 16 381 0 292 1 0 1 1 0 8 0
sysvmsgpl 40 14 0 9 1 0 1 1 0 8 0
semupl 112 2 0 2 1 0 1 1 0 8 1
semapl 112 696 0 686 1 0 1 1 0 8 0
shmpl 112 142 0 14 4 0 4 4 0 8 0
dirhash 1024 915 0 876 6 0 6 6 0 8 0
dino2pl 256 9294 0 7828 92 0 92 92 0 8 0
ffsino 240 9294 0 7828 87 0 87 87 0 8 0
nchpl 144 16889 0 15240 63 0 63 63 0 8 0
uvmvnodes 80 5926 0 0 121 0 121 121 0 8 0
vnodes 216 5926 0 0 330 0 330 330 0 8 0
namei 1024 58667 0 58667 3 0 3 3 0 8 3
vcpupl 2048 61 0 0 8 0 8 8 0 8 0
vmpool 664 169 0 108 6 0 6 6 0 8 0
kstatmem 264 108 0 82 2 0 2 2 0 8 0
scxspl 216 49724 0 49724 8 0 8 8 1 8 8
plimitpl 152 686 0 671 1 0 1 1 0 8 0
sigapl 424 6000 0 5956 8 0 8 8 0 8 1
futexpl 64 52469 0 52468 1 0 1 1 0 8 0
knotepl 120 50010 0 49930 10 0 10 10 0 8 7
kqueuepl 184 1270 0 1260 4 0 4 4 0 8 3
pipepl 288 1107 0 1080 7 0 7 7 0 8 4
fdescpl 432 5962 0 5936 4 0 4 4 0 8 0
filepl 120 36592 0 36346 16 0 16 16 0 8 6
lockfpl 104 1569 0 1567 2 0 2 2 0 8 1
lockfspl 48 583 0 581 1 0 1 1 0 8 0
sessionpl 144 37 0 21 1 0 1 1 0 8 0
pgrppl 48 125 0 109 1 0 1 1 0 8 0
ucredpl 104 5643 0 5632 1 0 1 1 0 8 0
zombiepl 144 5957 0 5956 1 0 1 1 0 8 0
processpl 1072 6000 0 5956 5 0 5 5 0 8 0
procpl 680 14160 0 14096 9 0 9 9 0 8 0
sosppl 168 91 0 91 1 0 1 1 0 8 1
sockpl 488 9520 0 9488 176 163 13 31 0 8 9
mcl64k 65536 272 0 272 1 0 1 1 0 8 1
mcl16k 16384 130 0 130 1 0 1 1 0 8 1
mcl12k 12288 219 0 219 1 0 1 1 0 8 1
mcl9k 9216 88 0 88 1 0 1 1 0 8 1
mcl8k 8192 359 0 359 1 0 1 1 0 8 1
mcl4k 4096 552 0 549 1 0 1 1 0 8 0
mcl2k2 2112 29 0 29 1 0 1 1 0 8 1
mcl2k 2048 81306 0 81248 36 23 13 29 0 8 5
mtagpl 96 922 0 591 11 0 11 11 0 8 1
mbufpl 256 187217 0 186715 166 118 48 83 0 8 8
bufpl 280 13512 0 7120 457 0 457 457 0 8 0
anonpl 24 691271 0 676912 125 0 125 125 0 188 27
amapchunkpl 152 172968 0 172104 43 0 43 43 0 158 5
amappl16 200 14340 0 13838 62 28 34 45 0 8 7
amappl15 192 13 0 13 1 0 1 1 0 8 1
amappl14 184 193 0 179 2 0 2 2 0 8 1
amappl13 176 18 0 18 1 0 1 1 0 8 1
amappl12 168 6800 0 6771 2 0 2 2 0 8 0
amappl11 160 83 0 73 1 0 1 1 0 8 0
amappl10 152 62 0 53 1 0 1 1 0 8 0
amappl9 144 223 0 223 1 0 1 1 0 8 1
amappl8 136 352 0 278 3 0 3 3 0 8 0
amappl7 128 210 0 186 2 0 2 2 0 8 0
amappl6 120 472 0 461 1 0 1 1 0 8 0
amappl5 112 238 0 230 1 0 1 1 0 8 0
amappl4 104 558 0 533 2 0 2 2 0 8 1
amappl3 96 34276 0 34197 3 0 3 3 0 8 0
amappl2 88 6693 0 6620 3 0 3 3 0 8 1
amappl1 80 29921 0 29411 22 2 20 22 0 8 8
amappl 88 53384 0 53149 7 0 7 7 0 92 0
dma4096 4096 1 0 1 1 0 1 1 0 8 1
dma1024 1024 1 0 0 1 0 1 1 0 8 0
dma256 256 6 0 6 1 0 1 1 0 8 1
dma128 128 253 0 253 1 0 1 1 0 8 1
dma64 64 6 0 6 1 0 1 1 0 8 1
dma32 32 7 0 7 1 0 1 1 0 8 1
dma16 16 18 0 17 1 0 1 1 0 8 0
aobjpl 72 144 0 14 3 0 3 3 0 8 0
uaddrrnd 24 6131 0 6044 1 0 1 1 0 8 0
uaddrbest 32 2 0 0 1 0 1 1 0 8 0
uaddr 24 6131 0 6044 1 0 1 1 0 8 0
vmmpekpl 168 43850 0 43782 4 0 4 4 0 8 0
vmmpepl 168 365599 0 363280 129 0 129 129 0 357 16
vmsppl 352 6130 0 6044 9 0 9 9 0 8 0
rwobjpl 24 94216 0 86626 49 0 49 49 0 8 1
pdppl 4096 12268 0 12149 385 260 125 125 0 8 6
pvpl 32 1738413 0 1718450 362 22 340 362 0 265 165
pmappl 216 6130 0 6044 5 0 5 5 0 8 0
extentpl 40 56 0 38 1 0 1 1 0 8 0
phpool 112 850 0 401 14 0 14 14 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(ffffffff828405d8) at panic+0x165 sys/kern/subr_prf.c:198
__assert(ffffffff828c1d42,ffffffff828798b1,408,ffffffff8289312c) at __assert+0x29 sys/kern/subr_prf.c:157
rtrequest(1,ffff80002f55cc68,0,ffff80002f55cbd8,0) at rtrequest+0xb6e sys/net/route.c:1032
rtm_output(ffff800000dcf900,ffff80002f55cd10,ffff80002f55cc68,0,0) at rtm_output+0x5f7 sys/net/rtsock.c:959
route_output(fffffd806f9b8c00,fffffd806bb3d9a8) at route_output+0x6bc sys/net/rtsock.c:864
route_send(fffffd806bb3d9a8,fffffd806f9b8c00,0,0) at route_send+0x8f sys/net/rtsock.c:340
sosend(fffffd806bb3d9a8,0,ffff80002f55cee0,0,0,0) at sosend+0x66d
sendit(ffff80002a6b1298,3,ffff80002f55cfe0,0,ffff80002f55d090) at sendit+0x65d sys/kern/uipc_syscalls.c:786
sys_sendto(ffff80002a6b1298,ffff80002f55d140,ffff80002f55d090) at sys_sendto+0x84 sys/kern/uipc_syscalls.c:564
syscall(ffff80002f55d140) at syscall+0x751 sys/arch/amd64/amd64/trap.c:577
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xe09d977b070, 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(ffffffff828405d8) at panic+0x165 sys/kern/subr_prf.c:198
__assert(ffffffff828c1d42,ffffffff828798b1,408,ffffffff8289312c) at __assert+0x29 sys/kern/subr_prf.c:157
rtrequest(1,ffff80002f55cc68,0,ffff80002f55cbd8,0) at rtrequest+0xb6e sys/net/route.c:1032
rtm_output(ffff800000dcf900,ffff80002f55cd10,ffff80002f55cc68,0,0) at rtm_output+0x5f7 sys/net/rtsock.c:959
route_output(fffffd806f9b8c00,fffffd806bb3d9a8) at route_output+0x6bc sys/net/rtsock.c:864
route_send(fffffd806bb3d9a8,fffffd806f9b8c00,0,0) at route_send+0x8f sys/net/rtsock.c:340
sosend(fffffd806bb3d9a8,0,ffff80002f55cee0,0,0,0) at sosend+0x66d
sendit(ffff80002a6b1298,3,ffff80002f55cfe0,0,ffff80002f55d090) at sendit+0x65d sys/kern/uipc_syscalls.c:786
sys_sendto(ffff80002a6b1298,ffff80002f55d140,ffff80002f55d090) at sys_sendto+0x84 sys/kern/uipc_syscalls.c:564
syscall(ffff80002f55d140) at syscall+0x751 sys/arch/amd64/amd64/trap.c:577
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0xe09d977b070, 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.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages