On Wed, Nov 26, 2014 at 03:43:30PM +0800, Jason Wang wrote:
>To be more friendly with drop monitor, we should only call kfree_skb() whenMaybe unlikely() here?
>the packets were dropped and use consume_skb() in other cases.
>
>Cc: Eric Dumazet<eric.dumazet@xxxxxxxxx>
>Signed-off-by: Jason Wang<jasowang@xxxxxxxxxx>
>---
>Changes from V1:
>- check the return value of tun/macvtap_put_user()
>---
> drivers/net/macvtap.c | 5 ++++-
> drivers/net/tun.c | 5 ++++-
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
>index 42a80d3..c171ab6 100644
>--- a/drivers/net/macvtap.c
>+++ b/drivers/net/macvtap.c
>@@ -862,7 +862,10 @@ static ssize_t macvtap_do_read(struct macvtap_queue *q,
> }
> iov_iter_init(&iter, READ, iv, segs, len);
> ret = macvtap_put_user(q, skb, &iter);
>- kfree_skb(skb);
>+ if (ret < 0)