| From: Eric Dumazet <edumazet@google.com> |
| Date: Fri, 6 May 2016 05:58:21 -0700 |
| Subject: 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 <edumazet@google.com> |
| Cc: Vlad Yasevich <vyasevic@redhat.com> |
| Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/net/macvtap.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/net/macvtap.c |
| +++ b/drivers/net/macvtap.c |
| @@ -310,7 +310,7 @@ static rx_handler_result_t macvtap_handl |
| goto wake_up; |
| } |
| |
| - kfree_skb(skb); |
| + consume_skb(skb); |
| while (segs) { |
| struct sk_buff *nskb = segs->next; |
| |