• Herbert Xu's avatar
    netlink: Move namespace into hash key · c428ecd1
    Herbert Xu authored
    Currently the name space is a de facto key because it has to match
    before we find an object in the hash table.  However, it isn't in
    the hash value so all objects from different name spaces with the
    same port ID hash to the same bucket.
    
    This is bad as the number of name spaces is unbounded.
    
    This patch fixes this by using the namespace when doing the hash.
    
    Because the namespace field doesn't lie next to the portid field
    in the netlink socket, this patch switches over to the rhashtable
    interface without a fixed key.
    
    This patch also uses the new inlined rhashtable interface where
    possible.
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c428ecd1
af_netlink.c 73.5 KB