diff --git a/net/core/dev.c b/net/core/dev.c index 75be7e226268..b9d6f3dcfc55 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3920,7 +3920,8 @@ static void skb_gro_reset_offset(struct sk_buff *skb) pinfo->nr_frags && !PageHighMem(skb_frag_page(frag0))) { NAPI_GRO_CB(skb)->frag0 = skb_frag_address(frag0); - NAPI_GRO_CB(skb)->frag0_len = skb_frag_size(frag0); + NAPI_GRO_CB(skb)->frag0_len = min(skb_frag_size(frag0), + skb->end - skb->tail); } }