diff options
Diffstat (limited to 'net/core/gro.c')
| -rw-r--r-- | net/core/gro.c | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/net/core/gro.c b/net/core/gro.c index 5ba4504cfd28..76f9c3712422 100644 --- a/net/core/gro.c +++ b/net/core/gro.c @@ -639,6 +639,8 @@ EXPORT_SYMBOL(gro_receive_skb);  static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb)  { +	struct skb_shared_info *shinfo; +  	if (unlikely(skb->pfmemalloc)) {  		consume_skb(skb);  		return; @@ -655,8 +657,12 @@ static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb)  	skb->encapsulation = 0;  	skb->ip_summed = CHECKSUM_NONE; -	skb_shinfo(skb)->gso_type = 0; -	skb_shinfo(skb)->gso_size = 0; + +	shinfo = skb_shinfo(skb); +	shinfo->gso_type = 0; +	shinfo->gso_size = 0; +	shinfo->hwtstamps.hwtstamp = 0; +  	if (unlikely(skb->slow_gro)) {  		skb_orphan(skb);  		skb_ext_reset(skb);  | 
