developer | ec4ebe4 | 2022-04-12 11:17:45 +0800 | [diff] [blame] | 1 | diff --git a/net/core/skbuff.c b/net/core/skbuff.c |
| 2 | index 5ba1c72f..f4239459 100644 |
| 3 | --- a/net/core/skbuff.c |
| 4 | +++ b/net/core/skbuff.c |
| 5 | @@ -69,6 +69,7 @@ |
| 6 | #include <net/ip6_checksum.h> |
| 7 | #include <net/xfrm.h> |
| 8 | #include <net/mpls.h> |
| 9 | +#include <net/ra_nat.h> |
| 10 | |
| 11 | #include <linux/uaccess.h> |
| 12 | #include <trace/events/skb.h> |
| 13 | @@ -1666,6 +1667,9 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail, |
| 14 | skb_shinfo(skb), |
| 15 | offsetof(struct skb_shared_info, frags[skb_shinfo(skb)->nr_frags])); |
| 16 | |
| 17 | + /*headroom copy*/ |
| 18 | + memcpy(data, skb->head, FOE_INFO_LEN); |
| 19 | + |
| 20 | /* |
| 21 | * if shinfo is shared we must drop the old head gracefully, but if it |
| 22 | * is not we can just drop the old head and let the existing refcount |