Searched hist:"1 eec5d5670084ee644597bd26c25e22c69b9f748" (Results 1 – 1 of 1) sorted by relevance
/linux/net/ipv4/ |
H A D | ip_fragment.c | diff 1eec5d5670084ee644597bd26c25e22c69b9f748 Sat Mar 31 21:58:54 CEST 2018 Eric Dumazet <edumazet@google.com> inet: frags: do not clone skb in ip_expire()
An skb_clone() was added in commit ec4fbd64751d ("inet: frag: release spinlock before calling icmp_send()")
While fixing the bug at that time, it also added a very high cost for DDOS frags, as the ICMP rate limit is applied after this expensive operation (skb_clone() + consume_skb(), implying memory allocations, copy, and freeing)
We can use skb_get(head) here, all we want is to make sure skb wont be freed by another cpu.
Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|