diff options
-rw-r--r-- | net/netfilter/nf_conntrack_core.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index 5f72b94b4918..5276a2dd56fe 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c | |||
@@ -1267,13 +1267,19 @@ err_cache: | |||
1267 | return ret; | 1267 | return ret; |
1268 | } | 1268 | } |
1269 | 1269 | ||
1270 | /* | ||
1271 | * We need to use special "null" values, not used in hash table | ||
1272 | */ | ||
1273 | #define UNCONFIRMED_NULLS_VAL ((1<<30)+0) | ||
1274 | #define DYING_NULLS_VAL ((1<<30)+1) | ||
1275 | |||
1270 | static int nf_conntrack_init_net(struct net *net) | 1276 | static int nf_conntrack_init_net(struct net *net) |
1271 | { | 1277 | { |
1272 | int ret; | 1278 | int ret; |
1273 | 1279 | ||
1274 | atomic_set(&net->ct.count, 0); | 1280 | atomic_set(&net->ct.count, 0); |
1275 | INIT_HLIST_NULLS_HEAD(&net->ct.unconfirmed, 0); | 1281 | INIT_HLIST_NULLS_HEAD(&net->ct.unconfirmed, UNCONFIRMED_NULLS_VAL); |
1276 | INIT_HLIST_NULLS_HEAD(&net->ct.dying, 0); | 1282 | INIT_HLIST_NULLS_HEAD(&net->ct.dying, DYING_NULLS_VAL); |
1277 | net->ct.stat = alloc_percpu(struct ip_conntrack_stat); | 1283 | net->ct.stat = alloc_percpu(struct ip_conntrack_stat); |
1278 | if (!net->ct.stat) { | 1284 | if (!net->ct.stat) { |
1279 | ret = -ENOMEM; | 1285 | ret = -ENOMEM; |