diff options
Diffstat (limited to 'net/ipv4/inet_fragment.c')
| -rw-r--r-- | net/ipv4/inet_fragment.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c index c9e35b81d093..0d70608cc2e1 100644 --- a/net/ipv4/inet_fragment.c +++ b/net/ipv4/inet_fragment.c @@ -90,7 +90,7 @@ static void inet_frags_free_cb(void *ptr, void *arg)  void inet_frags_exit_net(struct netns_frags *nf)  { -	nf->low_thresh = 0; /* prevent creation of new frags */ +	nf->high_thresh = 0; /* prevent creation of new frags */  	rhashtable_free_and_destroy(&nf->rhashtable, inet_frags_free_cb, NULL);  } @@ -157,9 +157,6 @@ static struct inet_frag_queue *inet_frag_alloc(struct netns_frags *nf,  {  	struct inet_frag_queue *q; -	if (!nf->high_thresh || frag_mem_limit(nf) > nf->high_thresh) -		return NULL; -  	q = kmem_cache_zalloc(f->frags_cachep, GFP_ATOMIC);  	if (!q)  		return NULL; @@ -204,6 +201,9 @@ struct inet_frag_queue *inet_frag_find(struct netns_frags *nf, void *key)  {  	struct inet_frag_queue *fq; +	if (!nf->high_thresh || frag_mem_limit(nf) > nf->high_thresh) +		return NULL; +  	rcu_read_lock();  	fq = rhashtable_lookup(&nf->rhashtable, key, nf->f->rhash_params);  | 
