On Fri, Jan 31, 2020 at 3:37 PM Florian Westphal <fw@xxxxxxxxx> 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.