[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpWbejoFPbFDSfUtvhFbU3DjhV6NAkPQ+-mirY_QEMHxkA@mail.gmail.com>
Date: Fri, 31 Jan 2020 18:53:21 -0800
From: Cong Wang <xiyou.wangcong@...il.com>
To: Florian Westphal <fw@...len.de>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>,
NetFilter <netfilter-devel@...r.kernel.org>,
syzbot <syzbot+adf6c6c2be1c3a718121@...kaller.appspotmail.com>,
Pablo Neira Ayuso <pablo@...filter.org>,
Jozsef Kadlecsik <kadlec@...filter.org>
Subject: Re: [Patch nf 3/3] xt_hashlimit: limit the max size of hashtable
On Fri, Jan 31, 2020 at 3:37 PM Florian Westphal <fw@...len.de> wrote:
> O would propose a max alloc size (hard limit) of ~8 MByte of vmalloc
> space, or maybe 16 at most.
>
> 1048576 max upperlimit -> ~8mbyte vmalloc request -> allows to store
> up to 2**23 entries.
Changing HASHLIMIT_MAX_SIZE to 1048576 seems fine.
>
> In order to prevent breaking userspace, perhaps make it so that the
> kernel caps cfg.max at twice that value? Would allow storing up to
> 16777216 addresses with an average chain depth of 16 (which is quite
> large). We could increase the max limit in case someone presents a use
> case.
>
Not sure if I understand this, I don't see how cap'ing cfg->max could
help prevent breaking user-space? Are you suggesting to cap it with
HASHLIMIT_MAX_SIZE too? Something like below?
+ if (cfg->max > 2 * HASHLIMIT_MAX_SIZE)
+ cfg->max = 2 * HASHLIMIT_MAX_SIZE;
Thanks.
Powered by blists - more mailing lists