OSDN Git Service

netlink: Move namespace into hash key
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 20 Mar 2015 10:57:01 +0000 (21:57 +1100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Mar 2015 20:16:24 +0000 (16:16 -0400)
commitc428ecd1a21f1457ca3beb4df71b8a079c410e41
treee742c46b87f015d694107e3a2b5b2d1bdb931499
parent02fd97c3d4a8a14e222b0021c366db7041d28743
netlink: Move namespace into hash key

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: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netlink/af_netlink.c