diff options
author | Eric Dumazet <edumazet@google.com> | 2018-03-31 21:58:51 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-01 05:25:39 +0200 |
commit | 399d1404be660d355192ff4df5ccc3f4159ec1e4 (patch) | |
tree | ca1e2d86cb32a06d91c35632ad19b5393be21a66 /net/ipv6 | |
parent | inet: frags: remove some helpers (diff) | |
download | linux-399d1404be660d355192ff4df5ccc3f4159ec1e4.tar.xz linux-399d1404be660d355192ff4df5ccc3f4159ec1e4.zip |
inet: frags: get rif of inet_frag_evicting()
This refactors ip_expire() since one indentation level is removed.
Note: in the future, we should try hard to avoid the skb_clone()
since this is a serious performance cost.
Under DDOS, the ICMP message wont be sent because of rate limits.
Fact that ip6_expire_frag_queue() does not use skb_clone() is
disturbing too. Presumably IPv6 should have the same
issue than the one we fixed in commit ec4fbd64751d
("inet: frag: release spinlock before calling icmp_send()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/reassembly.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index 3fc853e4492a..70acad126d04 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c @@ -106,10 +106,6 @@ void ip6_expire_frag_queue(struct net *net, struct frag_queue *fq) goto out_rcu_unlock; __IP6_INC_STATS(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS); - - if (inet_frag_evicting(&fq->q)) - goto out_rcu_unlock; - __IP6_INC_STATS(net, __in6_dev_get(dev), IPSTATS_MIB_REASMTIMEOUT); /* Don't send error if the first segment did not arrive. */ |