pool: double put: mbufpl (2)

0 views
Skip to first unread message

syzbot

unread,
Oct 30, 2019, 9:33:09 PM10/30/19
to syzkaller-o...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: 7ef8321b Add PREFIX_FLAG_STALE to mark prefixes in the Adj..
git tree: openbsd
console output: https://syzkaller.appspot.com/x/log.txt?x=159e33d0e00000
kernel config: https://syzkaller.appspot.com/x/.config?x=d0fe83f82fe104d4
dashboard link: https://syzkaller.appspot.com/bug?extid=df15a8f97ee60ee2c886

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

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

login: panic: pool_do_put: mbufpl: double pool_put: 0xfffffd802d1c0000
Stopped at db_enter+0x18: addq $0x8,%rsp
TID PID UID PRFLAGS PFLAGS CPU COMMAND
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398
panic() at panic+0x15c sys/kern/subr_prf.c:207
pool_do_put(ffffffff8258bc80,fffffd802d1c0000) at pool_do_put+0x31f
pr_find_pagehead sys/kern/subr_pool.c:311 [inline]
pool_do_put(ffffffff8258bc80,fffffd802d1c0000) at pool_do_put+0x31f
sys/kern/subr_pool.c:839
pool_put(ffffffff8258bc80,fffffd802d1c0000) at pool_put+0x4b
sys/kern/subr_pool.c:802
m_free(fffffd802d1c0000) at m_free+0x119 sys/kern/uipc_mbuf.c:459
ml_purge(ffff8000169897f8) at ml_purge+0x50 m_freem
sys/kern/uipc_mbuf.c:538 [inline]
ml_purge(ffff8000169897f8) at ml_purge+0x50 sys/kern/uipc_mbuf.c:1628
ifq_purge(ffff800000b08260) at ifq_purge+0x97 sys/net/ifq.c:423
tapclose(5d00,7,2000,ffff8000ffff2780) at tapclose+0xfc tun_dev_close
sys/net/if_tun.c:417 [inline]
tapclose(5d00,7,2000,ffff8000ffff2780) at tapclose+0xfc sys/net/if_tun.c:396
spec_close(ffff800016989910) at spec_close+0x311 sys/kern/spec_vnops.c:555
VOP_CLOSE(fffffd80377ad9c0,7,fffffd803f7c6a20,ffff8000ffff2780) at
VOP_CLOSE+0xc0 sys/kern/vfs_vops.c:175
vn_closefile(fffffd803d5dfa58,ffff8000ffff2780) at vn_closefile+0xd3
vn_close sys/kern/vfs_vnops.c:301 [inline]
vn_closefile(fffffd803d5dfa58,ffff8000ffff2780) at vn_closefile+0xd3
sys/kern/vfs_vnops.c:613
fdrop(fffffd803d5dfa58,ffff8000ffff2780) at fdrop+0xc2
sys/kern/kern_descrip.c:1273
closef(fffffd803d5dfa58,ffff8000ffff2780) at closef+0x118
sys/kern/kern_descrip.c:1257
fdfree(ffff8000ffff2780) at fdfree+0x100 sys/kern/kern_descrip.c:1189
end trace frame: 0xffff800016989b60, count: 0
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
pool_do_put: mbufpl: double pool_put: 0xfffffd802d1c0000
ddb> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398
panic() at panic+0x15c sys/kern/subr_prf.c:207
pool_do_put(ffffffff8258bc80,fffffd802d1c0000) at pool_do_put+0x31f
pr_find_pagehead sys/kern/subr_pool.c:311 [inline]
pool_do_put(ffffffff8258bc80,fffffd802d1c0000) at pool_do_put+0x31f
sys/kern/subr_pool.c:839
pool_put(ffffffff8258bc80,fffffd802d1c0000) at pool_put+0x4b
sys/kern/subr_pool.c:802
m_free(fffffd802d1c0000) at m_free+0x119 sys/kern/uipc_mbuf.c:459
ml_purge(ffff8000169897f8) at ml_purge+0x50 m_freem
sys/kern/uipc_mbuf.c:538 [inline]
ml_purge(ffff8000169897f8) at ml_purge+0x50 sys/kern/uipc_mbuf.c:1628
ifq_purge(ffff800000b08260) at ifq_purge+0x97 sys/net/ifq.c:423
tapclose(5d00,7,2000,ffff8000ffff2780) at tapclose+0xfc tun_dev_close
sys/net/if_tun.c:417 [inline]
tapclose(5d00,7,2000,ffff8000ffff2780) at tapclose+0xfc sys/net/if_tun.c:396
spec_close(ffff800016989910) at spec_close+0x311 sys/kern/spec_vnops.c:555
VOP_CLOSE(fffffd80377ad9c0,7,fffffd803f7c6a20,ffff8000ffff2780) at
VOP_CLOSE+0xc0 sys/kern/vfs_vops.c:175
vn_closefile(fffffd803d5dfa58,ffff8000ffff2780) at vn_closefile+0xd3
vn_close sys/kern/vfs_vnops.c:301 [inline]
vn_closefile(fffffd803d5dfa58,ffff8000ffff2780) at vn_closefile+0xd3
sys/kern/vfs_vnops.c:613
fdrop(fffffd803d5dfa58,ffff8000ffff2780) at fdrop+0xc2
sys/kern/kern_descrip.c:1273
closef(fffffd803d5dfa58,ffff8000ffff2780) at closef+0x118
sys/kern/kern_descrip.c:1257
fdfree(ffff8000ffff2780) at fdfree+0x100 sys/kern/kern_descrip.c:1189
exit1(ffff8000ffff2780,19,1) at exit1+0x32f sys/kern/kern_exit.c:196
postsig(ffff8000ffff2780,19) at postsig+0x4a6 sigexit
sys/kern/kern_sig.c:1499 [inline]
postsig(ffff8000ffff2780,19) at postsig+0x4a6 sys/kern/kern_sig.c:1431
userret(ffff8000ffff2780) at userret+0x159 sys/kern/kern_sig.c:1889
syscall(ffff800016989d90) at syscall+0x42e mi_syscall_return
sys/sys/syscall_mi.h:115 [inline]
syscall(ffff800016989d90) at syscall+0x42e sys/arch/amd64/amd64/trap.c:577
Xsyscall(6,38,7f7ffffc86c0,3,0,3c019680000) at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7ffffc86b0, count: -19
ddb> show registers
rdi 0
rsi 0x1
rbp 0xffff8000169895a0
rbx 0xffff800016989650
rdx 0x2
rcx 0
rax 0
r8 0xffff800016989560
r9 0x1
r10 0
r11 0xddeaf10bfdac6186
r12 0x3000000008
r13 0xffff8000169895b0
r14 0x100
r15 0x1
rip 0xffffffff81a9c068 db_enter+0x18
cs 0x8
rflags 0x246
rsp 0xffff800016989590
ss 0
db_enter+0x18: addq $0x8,%rsp
ddb> show proc
PROC (syz-executor.0) pid=475378 stat=onproc
flags process=a<EXEC,EXITING> proc=2000<WEXIT>
pri=17, usrpri=82, nice=20
forw=0xffffffffffffffff, list=0xffff8000ffff3b40,0xffff8000ffff22a0
process=0xffff8000148a2a38 user=0xffff800016984000,
vmspace=0xfffffd803f013cc0
estcpu=36, cpticks=1, pctcpu=0.0
user=0, sys=1, intr=0
ddb> ps
PID TID PPID UID S FLAGS WAIT COMMAND
41555 410613 1 0 3 0x100083 ttyin getty
27153 140627 35187 0 2 0x2 syz-executor.1
70181 347151 0 0 3 0x14200 acct acct
18085 253725 0 0 3 0x14200 bored sosplice
35187 411244 57854 0 3 0x82 thrsleep syz-fuzzer
35187 17154 57854 0 3 0x4000082 nanosleep syz-fuzzer
35187 469564 57854 0 2 0x4000002 syz-fuzzer
35187 520112 57854 0 3 0x4000082 thrsleep syz-fuzzer
35187 284719 57854 0 3 0x4000082 thrsleep syz-fuzzer
35187 274100 57854 0 3 0x4000082 thrsleep syz-fuzzer
35187 17442 57854 0 3 0x4000082 thrsleep syz-fuzzer
35187 57442 57854 0 3 0x4000082 thrsleep syz-fuzzer
57854 405080 7466 0 3 0x10008a pause ksh
7466 271828 48584 0 3 0x92 select sshd
48584 250825 1 0 3 0x80 select sshd
6628 180090 33636 73 3 0x100090 kqread syslogd
33636 433091 1 0 3 0x100082 netio syslogd
79452 284381 1 77 3 0x100090 poll dhclient
42336 480391 1 0 3 0x80 poll dhclient
87354 218307 0 0 2 0x14200 zerothread
80749 65867 0 0 3 0x14200 aiodoned aiodoned
61217 107533 0 0 3 0x14200 syncer update
73240 321286 0 0 3 0x14200 cleaner cleaner
32700 328394 0 0 3 0x14200 reaper reaper
84515 99229 0 0 3 0x14200 pgdaemon pagedaemon
7779 180085 0 0 3 0x14200 bored crynlk
93781 497324 0 0 3 0x14200 bored crypto
28640 308896 0 0 3 0x40014200 acpi0 acpi0
68029 136955 0 0 2 0x14200 softnet
57741 442082 0 0 3 0x14200 bored systqmp
24922 244603 0 0 3 0x14200 bored systq
70005 77882 0 0 3 0x40014200 bored softclock
46211 415226 0 0 3 0x40014200 idle0
17901 8992 0 0 3 0x14200 bored smr
1 184374 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 Kern Lim
devbuf 9598 6390K 7703K 78643K 20615 0 0
pcb 13 12K 14K 78643K 916 0 0
rtable 114 13K 14K 78643K 2097 0 0
ifaddr 101 22K 24K 78643K 680 0 0
counters 19 16K 16K 78643K 19 0 0
ioctlops 0 0K 2K 78643K 471 0 0
iov 0 0K 32K 78643K 887 0 0
mount 1 1K 1K 78643K 1 0 0
vnodes 1213 76K 77K 78643K 4769 0 0
UFS quota 1 32K 32K 78643K 1 0 0
UFS mount 5 36K 36K 78643K 5 0 0
shm 2 1K 5K 78643K 50 0 0
VM map 50 12K 12K 78643K 66 0 0
sem 12 0K 0K 78643K 801 0 0
dirhash 12 2K 2K 78643K 12 0 0
ACPI 1793 195K 288K 78643K 12645 0 0
file desc 4 9K 25K 78643K 3527 0 0
sigio 0 0K 0K 78643K 55 0 0
proc 49 38K 63K 78643K 1216 0 0
subproc 23 1K 2K 78643K 255 0 0
NFS srvsock 1 0K 0K 78643K 1 0 0
NFS daemon 1 16K 16K 78643K 1 0 0
ip_moptions 0 0K 0K 78643K 398 0 0
in_multi 26 1K 2K 78643K 356 0 0
ether_multi 1 0K 0K 78643K 36 0 0
mrt 3 0K 0K 78643K 45 0 0
ISOFS mount 1 32K 32K 78643K 1 0 0
MSDOSFS mount 1 16K 16K 78643K 1 0 0
ttys 120 530K 530K 78643K 120 0 0
exec 0 0K 1K 78643K 756 0 0
pfkey data 0 0K 4K 78643K 2 0 0
pagedep 1 8K 8K 78643K 1 0 0
inodedep 1 32K 32K 78643K 1 0 0
newblk 1 0K 0K 78643K 1 0 0
VM swap 7 26K 26K 78643K 7 0 0
UVM amap 192 398K 407K 78643K 9600 0 0
UVM aobj 130 8K 8K 78643K 138 0 0
memdesc 1 4K 4K 78643K 1 0 0
crypto data 1 1K 1K 78643K 1 0 0
ip6_options 0 0K 0K 78643K 832 0 0
NDP 23 0K 1K 78643K 201 0 0
temp 248 3545K 3625K 78643K 72664 0 0
kqueue 0 0K 0K 78643K 34 0 0
SYN cache 2 16K 16K 78643K 2 0 0
ddb> show all pools
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg
Idle
arp 64 48 0 44 1 0 1 1 0
8 0
rtpcb 80 359 0 357 1 0 1 1 0
8 0
rtentry 112 345 0 306 2 0 2 2 0
8 0
unpcb 120 2117 0 2106 1 0 1 1 0
8 0
syncache 264 20 0 20 8 8 0 1 0
8 0
tcpqe 32 259 0 259 5 5 0 1 0
8 0
tcpcb 544 1904 0 1900 26 25 1 13 0
8 0
ipq 40 42 0 42 9 9 0 1 0
8 0
ipqe 40 874 0 874 9 9 0 1 0
8 0
inpcb 280 5110 0 5103 32 30 2 13 0
8 1
rttmr 72 14 0 14 7 7 0 1 0
8 0
ip6q 72 1 0 1 1 1 0 1 0
8 0
ip6af 40 3 0 3 1 1 0 1 0
8 0
nd6 48 40 0 39 3 2 1 1 0
8 0
pkpcb 40 18 0 18 7 6 1 1 0
8 1
ppxss 1128 96 0 96 8 7 1 1 0
8 1
art_heap8 4096 6 0 4 6 2 4 4 0
8 2
art_heap4 256 1311 0 1129 20 4 16 16 0
8 1
art_table 32 1317 0 1133 3 0 3 3 0
8 0
art_node 16 341 0 306 1 0 1 1 0
8 0
sysvmsgpl 40 8 0 7 1 0 1 1 0
8 0
semupl 112 2 0 2 1 1 0 1 0
8 0
semapl 112 799 0 789 1 0 1 1 0
8 0
shmpl 112 136 0 8 4 0 4 4 0
8 0
dirhash 1024 17 0 0 3 0 3 3 0
8 0
dino1pl 128 7102 0 5694 46 0 46 46 0
8 0
ffsino 240 7102 0 5694 84 0 84 84 0
8 0
nchpl 144 14521 0 14092 60 40 20 60 0
8 0
uvmvnodes 72 6628 0 0 121 0 121 121 0
8 0
vnodes 208 6628 0 0 349 0 349 349 0
8 0
namei 1024 47803 0 47803 4 3 1 1 0
8 1
vcpupl 1984 48 0 0 6 0 6 6 0
8 0
vmpool 520 64 0 16 4 0 4 4 0
8 0
scsiplug 64 1 0 1 1 1 0 1 0
8 0
scxspl 192 47032 0 47032 22 19 3 7 0
8 3
plimitpl 152 352 0 345 1 0 1 1 0
8 0
sigapl 432 3660 0 3648 2 0 2 2 0
8 0
futexpl 56 104255 0 104255 4 3 1 1 0
8 1
knotepl 112 767 0 748 3 2 1 2 0
8 0
kqueuepl 104 1306 0 1304 7 6 1 4 0
8 0
pipepl 112 2484 0 2466 6 4 2 2 0
8 0
fdescpl 424 3661 0 3648 2 0 2 2 0
8 0
filepl 120 36302 0 36217 27 23 4 11 0
8 1
lockfpl 104 1610 0 1609 1 0 1 1 0
8 0
lockfspl 48 474 0 473 1 0 1 1 0
8 0
sessionpl 112 32 0 22 1 0 1 1 0
8 0
pgrppl 48 68 0 58 1 0 1 1 0
8 0
ucredpl 96 4702 0 4693 1 0 1 1 0
8 0
zombiepl 144 3650 0 3649 1 0 1 1 0
8 0
processpl 864 3678 0 3649 4 0 4 4 0
8 0
procpl 632 7997 0 7961 5 1 4 5 0
8 0
sosppl 128 78 0 78 11 10 1 1 0
8 1
sockpl 384 7638 0 7618 49 45 4 21 0
8 1
mcl64k 65536 610 0 610 35 34 1 33 0
8 1
mcl16k 16384 41 0 41 12 11 1 1 0
8 1
mcl12k 12288 122 0 122 7 6 1 1 0
8 1
mcl9k 9216 68 0 68 8 7 1 1 0
8 1
mcl8k 8192 191 0 191 5 4 1 1 0
8 1
mcl4k 4096 412 0 412 6 5 1 1 0
8 1
mcl2k2 2112 38 0 38 9 8 1 1 0
8 1
mcl2k 2048 74748 0 74706 21 14 7 13 0
8 1
mtagpl 80 417 0 405 9 6 3 4 0
8 1
mbufpl 256 153187 0 153085 128 106 22 35 0
8 8
pool(mbufpl): free list modified: page 0xfffffd802d1c0000; item ordinal 3;
addr 0xfffffd802d1c0000 (p 0xfffffd802f7f9000); offset 0xc=0xdea4beef
bufpl 256 21861 0 15223 415 0 415 415 0
8 0
anonpl 16 436100 0 414299 192 90 102 107 0 62
10
amapchunkpl 152 17793 0 17628 45 30 15 18 0
158 8
amappl16 192 21788 0 20550 180 107 73 77 0
8 8
amappl15 184 408 0 408 4 4 0 1 0
8 0
amappl14 176 788 0 783 1 0 1 1 0
8 0
amappl13 168 1097 0 1097 3 3 0 1 0
8 0
amappl12 160 526 0 525 4 3 1 1 0
8 0
amappl11 152 483 0 471 1 0 1 1 0
8 0
amappl10 144 357 0 355 1 0 1 1 0
8 0
amappl9 136 849 0 846 1 0 1 1 0
8 0
amappl8 128 464 0 418 2 0 2 2 0
8 0
amappl7 120 438 0 431 1 0 1 1 0
8 0
amappl6 112 445 0 436 1 0 1 1 0
8 0
amappl5 104 779 0 768 1 0 1 1 0
8 0
amappl4 96 3592 0 3560 1 0 1 1 0
8 0
amappl3 88 1530 0 1521 1 0 1 1 0
8 0
amappl2 80 29016 0 28944 3 1 2 3 0
8 0
amappl1 72 74796 0 74401 27 18 9 20 0
8 0
amappl 80 8524 0 8458 2 0 2 2 0
84 0
dma4096 4096 1 0 1 1 1 0 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 17 0 17 1 1 0 1 0
8 0
aobjpl 64 137 0 8 3 0 3 3 0
8 0
uaddrrnd 24 3725 0 3648 1 0 1 1 0
8 0
uaddrbest 32 2 0 0 1 0 1 1 0
8 0
uaddr 24 3725 0 3648 1 0 1 1 0
8 0
vmmpekpl 168 25342 0 25305 2 0 2 2 0
8 0
vmmpepl 168 446062 0 443614 296 169 127 152 0
357 9
vmsppl 272 3660 0 3648 2 1 1 2 0
8 0
pdppl 4096 7456 0 7376 13 2 11 11 0
8 0
pvpl 32 1112498 0 1090003 453 152 301 326 0 265
110
pmappl 200 3724 0 3664 5 1 4 4 0
8 0
extentpl 40 41 0 26 1 0 1 1 0
8 0
phpool 112 782 0 213 17 0 17 17 0
8 0


---
This bug 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 bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Feb 29, 2020, 3:17:08 PM2/29/20
to syzkaller-o...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages