From: Eric Dumazet Date: Fri, 6 May 2016 12:58:21 +0000 (-0700) Subject: macvtap: segmented packet is consumed X-Git-Tag: v3.16.36~33 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9b534eea9820cb5b3e444ec72ed7ad410508f5c0;p=thirdparty%2Fkernel%2Fstable.git macvtap: segmented packet is consumed commit be0bd3160165e42783d8215f426e41c07179c08a upstream. If GSO packet is segmented and its segments are properly queued, we call consume_skb() instead of kfree_skb() to be drop monitor friendly. Fixes: 3e4f8b7873709 ("macvtap: Perform GSO on forwarding path.") Signed-off-by: Eric Dumazet Cc: Vlad Yasevich Reviewed-by: Shmulik Ladkani Signed-off-by: David S. Miller Signed-off-by: Ben Hutchings --- diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index e9c3677a196e2..faa79040d336f 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -310,7 +310,7 @@ static rx_handler_result_t macvtap_handle_frame(struct sk_buff **pskb) goto wake_up; } - kfree_skb(skb); + consume_skb(skb); while (segs) { struct sk_buff *nskb = segs->next;