|
@@ -35,7 +35,7 @@ struct inet_bind_bucket *inet_bind_bucket_create(struct kmem_cache *cachep,
|
|
|
struct inet_bind_bucket *tb = kmem_cache_alloc(cachep, GFP_ATOMIC);
|
|
|
|
|
|
if (tb != NULL) {
|
|
|
- tb->ib_net = hold_net(net);
|
|
|
+ write_pnet(&tb->ib_net, hold_net(net));
|
|
|
tb->port = snum;
|
|
|
tb->fastreuse = 0;
|
|
|
INIT_HLIST_HEAD(&tb->owners);
|
|
@@ -51,7 +51,7 @@ void inet_bind_bucket_destroy(struct kmem_cache *cachep, struct inet_bind_bucket
|
|
|
{
|
|
|
if (hlist_empty(&tb->owners)) {
|
|
|
__hlist_del(&tb->node);
|
|
|
- release_net(tb->ib_net);
|
|
|
+ release_net(ib_net(tb));
|
|
|
kmem_cache_free(cachep, tb);
|
|
|
}
|
|
|
}
|
|
@@ -449,7 +449,7 @@ int __inet_hash_connect(struct inet_timewait_death_row *death_row,
|
|
|
* unique enough.
|
|
|
*/
|
|
|
inet_bind_bucket_for_each(tb, node, &head->chain) {
|
|
|
- if (tb->ib_net == net && tb->port == port) {
|
|
|
+ if (ib_net(tb) == net && tb->port == port) {
|
|
|
WARN_ON(hlist_empty(&tb->owners));
|
|
|
if (tb->fastreuse >= 0)
|
|
|
goto next_port;
|