syzbot


panic: syn_cache_insert: cacheoverflow: impossible (2)

Status: fixed on 2020/09/01 02:15
Reported-by: syzbot+1522052047471ac0c4be@syzkaller.appspotmail.com
Fix commit: 7c72bba2fa26 Convert tcp_sysctl to sysctl_bounded_args
First crash: 890d, last: 845d
similar bugs (1):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
openbsd panic: syn_cache_insert: cacheoverflow: impossible 5 897d 915d 3/3 fixed on 2020/06/19 02:23

Sample crash report:
login: panic: syn_cache_insert: cacheoverflow: impossible
Stopped at      db_enter+0x18:  addq    $0x8,%rsp
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
*284037  71596      0     0x14000      0x200    0  softnet
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398
panic(ffffffff823e79fb) at panic+0x164 sys/kern/subr_prf.c:218
syn_cache_insert(fffffd805d5cbd70,ffff800000ac3100) at syn_cache_insert+0x944 sys/netinet/tcp_input.c:3235
syn_cache_add(ffff80001d677ef8,ffff80001d677ea8,fffffd805e0950c4,14,fffffd805da7bc88,fffffd805e095000) at syn_cache_add+0x66b
tcp_input(ffff80001d6781f8,ffff80001d678204,6,2) at tcp_input+0x37f6 sys/netinet/tcp_input.c:830
ip_deliver(ffff80001d6781f8,ffff80001d678204,6,2) at ip_deliver+0x2e3 sys/netinet/ip_input.c:668
ip_ours(ffff80001d6781f8,ffff80001d678204,8b,0) at ip_ours+0x4fe sys/netinet/ip_input.c:563
ip_input_if(ffff80001d6781f8,ffff80001d678204,4,0,ffff800000679000) at ip_input_if+0x571
ipv4_input(ffff800000679000,fffffd805e095000) at ipv4_input+0x48 sys/netinet/ip_input.c:215
if_input_local(ffff800000679000,fffffd805e095000,2) at if_input_local+0xf9 sys/net/if.c:769
loinput(ffff800000679000,fffffd805e095000) at loinput+0x4d sys/net/if_loop.c:238
if_input_process(ffff800000679000,ffff80001d678338) at if_input_process+0xda sys/net/if.c:832
ifiq_process(ffff8000006793c0) at ifiq_process+0x80 sys/net/ifq.c:768
taskq_thread(ffff80000002b080) at taskq_thread+0x92 sys/kern/kern_task.c:438
end trace frame: 0x0, count: 1
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
syn_cache_insert: cacheoverflow: impossible
ddb> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398
panic(ffffffff823e79fb) at panic+0x164 sys/kern/subr_prf.c:218
syn_cache_insert(fffffd805d5cbd70,ffff800000ac3100) at syn_cache_insert+0x944 sys/netinet/tcp_input.c:3235
syn_cache_add(ffff80001d677ef8,ffff80001d677ea8,fffffd805e0950c4,14,fffffd805da7bc88,fffffd805e095000) at syn_cache_add+0x66b
tcp_input(ffff80001d6781f8,ffff80001d678204,6,2) at tcp_input+0x37f6 sys/netinet/tcp_input.c:830
ip_deliver(ffff80001d6781f8,ffff80001d678204,6,2) at ip_deliver+0x2e3 sys/netinet/ip_input.c:668
ip_ours(ffff80001d6781f8,ffff80001d678204,8b,0) at ip_ours+0x4fe sys/netinet/ip_input.c:563
ip_input_if(ffff80001d6781f8,ffff80001d678204,4,0,ffff800000679000) at ip_input_if+0x571
ipv4_input(ffff800000679000,fffffd805e095000) at ipv4_input+0x48 sys/netinet/ip_input.c:215
if_input_local(ffff800000679000,fffffd805e095000,2) at if_input_local+0xf9 sys/net/if.c:769
loinput(ffff800000679000,fffffd805e095000) at loinput+0x4d sys/net/if_loop.c:238
if_input_process(ffff800000679000,ffff80001d678338) at if_input_process+0xda sys/net/if.c:832
ifiq_process(ffff8000006793c0) at ifiq_process+0x80 sys/net/ifq.c:768
taskq_thread(ffff80000002b080) at taskq_thread+0x92 sys/kern/kern_task.c:438
end trace frame: 0x0, count: -14
ddb> show registers
rdi                                0
rsi                              0x1
rbp               0xffff80001d677a70
rbx               0xffff80001d677b20
rdx                             0x8b
rcx                              0x2
rax                              0x1
r8                0xffff80001d677a30
r9                0xffffffff817fa6cf    kprintf+0x15f
r10                              0x1
r11               0xa64ba111049bcef5
r12                     0x3000000008
r13               0xffff80001d677a80
r14                            0x100
r15                              0x1
rip               0xffffffff81e60e68    db_enter+0x18
cs                               0x8
rflags                         0x246
rsp               0xffff80001d677a60
ss                              0x10
db_enter+0x18:  addq    $0x8,%rsp
ddb> show proc
PROC (softnet) pid=284037 stat=onproc
    flags process=14000<NOZOMBIE,SYSTEM> proc=200<SYSTEM>
    pri=32, usrpri=50, nice=20
    forw=0xffffffffffffffff, list=0xffff80001d6519c0,0xffff80001d651280
    process=0xffff8000fffff220 user=0xffff80001d673000, vmspace=0xffffffff82869550
    estcpu=0, cpticks=0, pctcpu=0.0
    user=0, sys=0, intr=0
ddb> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 51302  177816  71026      0  3        0x82  netcon2       syz-executor4572
 71026    5207  50297      0  3    0x10008a  pause         ksh
 50297  463637  92652      0  2        0x12                sshd
 97034  445587      1      0  3    0x100083  ttyin         getty
 92652  120059      1      0  3        0x80  select        sshd
 12494  301104  76427     73  3    0x100090  kqread        syslogd
 76427  478787      1      0  3    0x100082  netio         syslogd
  3259  219644      1     77  3    0x100090  poll          dhclient
 74344   81434      1      0  3        0x80  poll          dhclient
 46967  423925      0      0  3     0x14200  bored         smr
 99537  471374      0      0  2     0x14200                zerothread
  7636   89143      0      0  3     0x14200  aiodoned      aiodoned
  6978  287485      0      0  3     0x14200  syncer        update
  1377   12407      0      0  3     0x14200  cleaner       cleaner
 93408  412848      0      0  3     0x14200  reaper        reaper
 56906  108407      0      0  3     0x14200  pgdaemon      pagedaemon
 63305  231778      0      0  3     0x14200  bored         crynlk
 28590  320756      0      0  3     0x14200  bored         crypto
 50521  326006      0      0  3  0x40014200  acpi0         acpi0
*71596  284037      0      0  7     0x14200                softnet
 67496  495658      0      0  3     0x14200  bored         systqmp
 33744   68412      0      0  3     0x14200  bored         systq
 43043  120770      0      0  3  0x40014200  bored         softclock
 13767  425860      0      0  3  0x40014200                idle0
     1  393318      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  9438   6318K    6319K  78643K     10537        0
            pcb    13      8K       8K  78643K        13        0
         rtable    61      1K       2K  78643K       117        0
         ifaddr    24      7K       7K  78643K        24        0
       counters    19     16K      16K  78643K        19        0
       ioctlops     0      0K       2K  78643K        13        0
          mount     1      1K       1K  78643K         1        0
         vnodes  1182     74K      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      0K       0K  78643K         2        0
            sem     2      0K       0K  78643K         2        0
        dirhash    12      2K       2K  78643K        12        0
           ACPI  1809    195K     288K  78643K     12938        0
      file desc     1      0K       0K  78643K         1        0
           proc    47     38K      46K  78643K       278        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       1K  78643K       151        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    55      2K       3K  78643K       688        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    18   3845K    3909K  78643K      1422        0
         kqueue     2      2K       2K  78643K         2        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
arp         64        2    0        0     1     0     1     1     0     8    0
rtpcb       80       15    0       13     1     0     1     1     0     8    0
rtentry    112       23    0        1     1     0     1     1     0     8    0
unpcb      120       27    0       19     1     0     1     1     0     8    0
syncache   264        6    0        5     2     1     1     1     0     8    0
tcpcb      544       10    0        5     1     0     1     1     0     8    0
inpcb      296       24    0       16     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      17    0        0     3     0     3     3     0     8    0
dino2pl    256     1389    0       15    86     0    86    86     0     8    0
ffsino     240     1389    0       15    81     0    81    81     0     8    0
nchpl      144     1563    0       30    57     0    57    57     0     8    0
uvmvnodes   72     1398    0        0    26     0    26    26     0     8    0
vnodes     208     1398    0        0    74     0    74    74     0     8    0
namei      1024    3485    0     3485     1     0     1     1     0     8    1
scxspl     192     3175    0     3175     1     0     1     1     0     8    1
plimitpl   152       13    0        8     1     0     1     1     0     8    0
sigapl     424      191    0      166     4     0     4     4     0     8    0
knotepl    112        5    0        0     1     0     1     1     0     8    0
kqueuepl   144        1    0        0     1     0     1     1     0     8    0
pipepl     272       57    0       53     1     0     1     1     0     8    0
fdescpl    432      177    0      166     2     0     2     2     0     8    0
filepl     120      824    0      779     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  112       17    0        9     1     0     1     1     0     8    0
pgrppl      48       17    0        9     1     0     1     1     0     8    0
ucredpl     96       57    0       50     1     0     1     1     0     8    0
zombiepl   144      166    0      166     1     0     1     1     0     8    1
processpl  928      191    0      166     4     0     4     4     0     8    0
procpl     624      191    0      166     3     0     3     3     0     8    0
sockpl     400       66    0       48     2     0     2     2     0     8    0
mcl4k      4096      10    0       10     2     1     1     1     0     8    1
mcl2k      2048    5269    0     5239     7     1     6     7     0     8    1
mtagpl      96        2    0        2     1     1     0     1     0     8    0
mbufpl     256     9149    0     9103     6     2     4     5     0     8    0
bufpl      280     1801    0       72   124     0   124   124     0     8    0
anonpl      16    17300    0    16176     7     2     5     7     0   107    0
amapchunkpl 152     474    0      438     2     0     2     2     0   158    0
amappl16   192       67    0       62     1     0     1     1     0     8    0
amappl15   184        2    0        1     1     0     1     1     0     8    0
amappl13   168       12    0       11     1     0     1     1     0     8    0
amappl12   160       21    0       19     1     0     1     1     0     8    0
amappl11   152       40    0       31     1     0     1     1     0     8    0
amappl10   144        5    0        3     1     0     1     1     0     8    0
amappl9    136      175    0      174     1     0     1     1     0     8    0
amappl8    128      197    0      196     1     0     1     1     0     8    0
amappl7    120       76    0       69     1     0     1     1     0     8    0
amappl6    112       19    0       16     1     0     1     1     0     8    0
amappl5    104      177    0      168     1     0     1     1     0     8    0
amappl4     96      396    0      373     1     0     1     1     0     8    0
amappl3     88      119    0      111     1     0     1     1     0     8    0
amappl2     80      707    0      658     2     0     2     2     0     8    0
amappl1     72    12214    0    11830    16     8     8    16     0     8    0
amappl      80      354    0      335     1     0     1     1     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       18    0       17     1     0     1     1     0     8    0
aobjpl      64        2    0        0     1     0     1     1     0     8    0
uaddrrnd    24      177    0      166     1     0     1     1     0     8    0
uaddrbest   32        2    0        0     1     0     1     1     0     8    0
uaddr       24      177    0      166     1     0     1     1     0     8    0
vmmpekpl   168     5203    0     5185     1     0     1     1     0     8    0
vmmpepl    168    26200    0    25439    48    12    36    48     0   357    2
vmsppl     272      176    0      166     1     0     1     1     0     8    0
pdppl      4096     360    0      332     5     0     5     5     0     8    0
pvpl        32    70304    0    67556    27     1    26    26     0   265    1
pmappl     200      176    0      166     1     0     1     1     0     8    0
extentpl    40       53    0       36     1     0     1     1     0     8    0
phpool     112      208    0        6     6     0     6     6     0     8    0
ddb> machine ddbcpu 0
No such command
ddb> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398
panic(ffffffff823e79fb) at panic+0x164 sys/kern/subr_prf.c:218
syn_cache_insert(fffffd805d5cbd70,ffff800000ac3100) at syn_cache_insert+0x944 sys/netinet/tcp_input.c:3235
syn_cache_add(ffff80001d677ef8,ffff80001d677ea8,fffffd805e0950c4,14,fffffd805da7bc88,fffffd805e095000) at syn_cache_add+0x66b
tcp_input(ffff80001d6781f8,ffff80001d678204,6,2) at tcp_input+0x37f6 sys/netinet/tcp_input.c:830
ip_deliver(ffff80001d6781f8,ffff80001d678204,6,2) at ip_deliver+0x2e3 sys/netinet/ip_input.c:668
ip_ours(ffff80001d6781f8,ffff80001d678204,8b,0) at ip_ours+0x4fe sys/netinet/ip_input.c:563
ip_input_if(ffff80001d6781f8,ffff80001d678204,4,0,ffff800000679000) at ip_input_if+0x571
ipv4_input(ffff800000679000,fffffd805e095000) at ipv4_input+0x48 sys/netinet/ip_input.c:215
if_input_local(ffff800000679000,fffffd805e095000,2) at if_input_local+0xf9 sys/net/if.c:769
loinput(ffff800000679000,fffffd805e095000) at loinput+0x4d sys/net/if_loop.c:238
if_input_process(ffff800000679000,ffff80001d678338) at if_input_process+0xda sys/net/if.c:832
ifiq_process(ffff8000006793c0) at ifiq_process+0x80 sys/net/ifq.c:768
taskq_thread(ffff80000002b080) at taskq_thread+0x92 sys/kern/kern_task.c:438
end trace frame: 0x0, count: -14
ddb> machine ddbcpu 1
No such command
ddb> trace
db_enter() at db_enter+0x18 sys/arch/amd64/amd64/db_interface.c:398
panic(ffffffff823e79fb) at panic+0x164 sys/kern/subr_prf.c:218
syn_cache_insert(fffffd805d5cbd70,ffff800000ac3100) at syn_cache_insert+0x944 sys/netinet/tcp_input.c:3235
syn_cache_add(ffff80001d677ef8,ffff80001d677ea8,fffffd805e0950c4,14,fffffd805da7bc88,fffffd805e095000) at syn_cache_add+0x66b
tcp_input(ffff80001d6781f8,ffff80001d678204,6,2) at tcp_input+0x37f6 sys/netinet/tcp_input.c:830
ip_deliver(ffff80001d6781f8,ffff80001d678204,6,2) at ip_deliver+0x2e3 sys/netinet/ip_input.c:668
ip_ours(ffff80001d6781f8,ffff80001d678204,8b,0) at ip_ours+0x4fe sys/netinet/ip_input.c:563
ip_input_if(ffff80001d6781f8,ffff80001d678204,4,0,ffff800000679000) at ip_input_if+0x571
ipv4_input(ffff800000679000,fffffd805e095000) at ipv4_input+0x48 sys/netinet/ip_input.c:215
if_input_local(ffff800000679000,fffffd805e095000,2) at if_input_local+0xf9 sys/net/if.c:769
loinput(ffff800000679000,fffffd805e095000) at loinput+0x4d sys/net/if_loop.c:238
if_input_process(ffff800000679000,ffff80001d678338) at if_input_process+0xda sys/net/if.c:832
ifiq_process(ffff8000006793c0) at ifiq_process+0x80 sys/net/ifq.c:768
taskq_thread(ffff80000002b080) at taskq_thread+0x92 sys/kern/kern_task.c:438
end trace frame: 0x0, count: -14
ddb> 

Crashes (6):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-openbsd-main 2020/08/01 02:02 openbsd d7a9fa610752 d895b3be .config log report syz C
ci-openbsd-main 2020/08/09 10:24 openbsd 97da2ad2205f f721e4a0 .config log report
ci-openbsd-multicore 2020/08/01 11:51 openbsd 18f4917e2c82 d895b3be .config log report
ci-openbsd-main 2020/08/01 01:24 openbsd d7a9fa610752 d895b3be .config log report
ci-openbsd-main 2020/07/31 12:08 openbsd b767a9add6bd 8df85ed9 .config log report
ci-openbsd-main 2020/06/25 01:33 openbsd 3209772dfcc3 9d60b18e .config log report
* Struck through repros no longer work on HEAD.