lkml.org 
[lkml]   [2013]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net-next 2/2] tuntap: orphan frags before trying to set tx timestamp
On 09/04/2013 09:27 PM, Sergei Shtylyov wrote:
> Hello.
>
> On 04-09-2013 8:33, Jason Wang wrote:
>
>> sock_tx_timestamp() will clear all zerocopy flags of skb which may
>> lead the
>> frags never to be orphaned. This will break guest to guest traffic
>> when zerocopy
>> is enabled. Fix this by orphaning the frags before trying to set tx
>> time stamp.
>
>> The issue were introduced by commit
>> eda297729171fe16bf34fe5b0419dfb69060f623
>> (tun: Support software transmit time stamping).
>
>> Cc: Richard Cochran <richardcochran@gmail.com>
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
>> ---
>> drivers/net/tun.c | 9 +++++----
>> 1 files changed, 5 insertions(+), 4 deletions(-)
>
>> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
>> index 2dddb1b..af9a096 100644
>> --- a/drivers/net/tun.c
>> +++ b/drivers/net/tun.c
>> @@ -749,15 +749,16 @@ static netdev_tx_t tun_net_xmit(struct sk_buff
>> *skb, struct net_device *dev)
>> >= dev->tx_queue_len / tun->numqueues)
>> goto drop;
>>
>> + /* Orphan the skb - required as we might hang on to it
>> + * for indefinite time. */
>
> You could fix the comment style to the networking code default,
> while at: it:
>
> /* bla
> * bla
> */
>
>> + if (unlikely(skb_orphan_frags(skb, GFP_ATOMIC)))
>> + goto drop;
>> +
>> if (skb->sk) {
>> sock_tx_timestamp(skb->sk, &skb_shinfo(skb)->tx_flags);
>> sw_tx_timestamp(skb);
>> }
>>
>> - /* Orphan the skb - required as we might hang on to it
>> - * for indefinite time. */
>> - if (unlikely(skb_orphan_frags(skb, GFP_ATOMIC)))
>> - goto drop;
>
> WBR, Sergei
>
>
>

Sure will post V2.


\
 
 \ /
  Last update: 2013-09-05 12:21    [W:0.566 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site