All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Marcelo Ricardo Leitner <mleitner@redhat.com>,
	netdev <netdev@vger.kernel.org>
Subject: Re: tun issue after e0b46d0ee9c: tun: Use iovec iterators
Date: Mon, 01 Dec 2014 05:41:00 +0008	[thread overview]
Message-ID: <1417411980.7521.0@smtp.corp.redhat.com> (raw)
In-Reply-To: <20141130100331.GA10050@gondor.apana.org.au>



On Sun, Nov 30, 2014 at 6:03 PM, Herbert Xu 
<herbert@gondor.apana.org.au> wrote:
> On Sat, Nov 29, 2014 at 07:59:35AM +0800, Herbert Xu wrote:
>>  On Fri, Nov 28, 2014 at 05:25:27PM -0200, Marcelo Ricardo Leitner 
>> wrote:
>>  > 
>>  > I saw there are tun updates on Dave's queue but none seemed to 
>> handle this.
>>  > 
>>  > I can't use current net-next
>>  > (799d2fff1858004526ad75d66a5dd8a5cce6ad40) on a kvm hypervisor
>>  > because tun got clogged somehow. Bisected down to:
>>  > 
>>  > commit e0b46d0ee9c240c7430a47e9b0365674d4a04522
>>  > Author: Herbert Xu <herbert@gondor.apana.org.au>
>>  > Date:   Fri Nov 7 21:22:23 2014 +0800
>>  
>>  Does this patch help?
> 
> Oops, there was an embarrassing typo in the patch which causes
> it to not even build.  Here is the corrected version.
> 
> -- >8 --
> Subject: tun: Fix GSO meta-data handling in tun_get_user
>     
> When we write the GSO meta-data in tun_get_user we end up advancing
> the IO vector twice, thus exhausting the user buffer before we can
> finish writing the packet.
>     
> Fixes: f5ff53b4d97c ("{macvtap,tun}_get_user(): switch to iov_iter")
> Reported-by: Marcelo Ricardo Leitner <mleitner@redhat.com>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
> 
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index 4b743c6..6d44da1 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -1052,7 +1052,7 @@ static ssize_t tun_get_user(struct tun_struct 
> *tun, struct tun_file *tfile,
>  
>  		if (gso.hdr_len > len)
>  			return -EINVAL;
> -		iov_iter_advance(from, tun->vnet_hdr_sz);
> +		iov_iter_advance(from, tun->vnet_hdr_sz - sizeof(gso));
>  	}
>  
>  	if ((tun->flags & TUN_TYPE_MASK) == TUN_TAP_DEV) {
> 

Acked-by: Jason Wang <jasowang@redhat.com>

  reply	other threads:[~2014-12-01  5:33 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-28 19:25 tun issue after e0b46d0ee9c: tun: Use iovec iterators Marcelo Ricardo Leitner
2014-11-28 20:37 ` Al Viro
2014-11-28 22:10   ` Marcelo Ricardo Leitner
2014-11-28 22:35     ` Al Viro
2014-11-29  4:49       ` Marcelo Ricardo Leitner
2014-11-28 23:59 ` Herbert Xu
2014-11-29  5:08   ` Marcelo Ricardo Leitner
2014-11-30  8:21     ` Herbert Xu
2014-12-01 13:05       ` Marcelo Ricardo Leitner
2014-11-30 10:03   ` Herbert Xu
2014-12-01  5:33     ` Jason Wang [this message]
2014-12-03  4:54     ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1417411980.7521.0@smtp.corp.redhat.com \
    --to=jasowang@redhat.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=mleitner@redhat.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.