• Herbert Xu's avatar
    rhashtable: Enforce minimum size on initial hash table · 3a324606
    Herbert Xu authored
    William Hua <william.hua@canonical.com> wrote:
    >
    > I wasn't aware there was an enforced minimum size. I simply set the
    > nelem_hint in the rhastable_params struct to 1, expecting it to grow as
    > needed. This caused a segfault afterwards when trying to insert an
    > element.
    
    OK we're doing the size computation before we enforce the limit
    on min_size.
    
    ---8<---
    We need to do the initial hash table size computation after we
    have obtained the correct min_size/max_size parameters.  Otherwise
    we may end up with a hash table whose size is outside the allowed
    envelope.
    
    Fixes: a998f712 ("rhashtable: Round up/down min/max_size to...")
    Reported-by: default avatarWilliam Hua <william.hua@canonical.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3a324606
rhashtable.c 20.6 KB