diff options
| author | 2014-11-18 19:43:46 -0700 | |
|---|---|---|
| committer | 2014-11-18 19:43:46 -0700 | |
| commit | b3521729769ec71567a2e32a38609f87e781e41b (patch) | |
| tree | 66a8494968706420c3eb043caa5868702d440d18 /net/ipv4/inet_fragment.c | |
| parent | NVMe: enable IO stats by default (diff) | |
| parent | Linux 3.18-rc5 (diff) | |
| download | linux-dev-b3521729769ec71567a2e32a38609f87e781e41b.tar.xz linux-dev-b3521729769ec71567a2e32a38609f87e781e41b.zip | |
Merge branch 'master' into for-3.19/drivers
Diffstat (limited to 'net/ipv4/inet_fragment.c')
| -rw-r--r-- | net/ipv4/inet_fragment.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c index 9eb89f3f0ee4..19419b60cb37 100644 --- a/net/ipv4/inet_fragment.c +++ b/net/ipv4/inet_fragment.c @@ -146,7 +146,6 @@ evict_again: atomic_inc(&fq->refcnt); spin_unlock(&hb->chain_lock); del_timer_sync(&fq->timer); - WARN_ON(atomic_read(&fq->refcnt) != 1); inet_frag_put(fq, f); goto evict_again; } @@ -285,7 +284,8 @@ static inline void fq_unlink(struct inet_frag_queue *fq, struct inet_frags *f) struct inet_frag_bucket *hb; hb = get_frag_bucket_locked(fq, f); - hlist_del(&fq->list); + if (!(fq->flags & INET_FRAG_EVICTED)) + hlist_del(&fq->list); spin_unlock(&hb->chain_lock); } |
