[ovs-dev] [PATCH v4] core, nfqueue, openvswitch: Orphan frags in skb_zerocopy and handle errors

Zoltan Kiss zoltan.kiss at citrix.com
Wed Mar 26 22:38:48 UTC 2014


On 26/03/14 20:12, David Miller wrote:
> From: David Miller <davem at davemloft.net>
> Date: Wed, 26 Mar 2014 15:59:58 -0400 (EDT)
>
>> From: Zoltan Kiss <zoltan.kiss at citrix.com>
>> Date: Fri, 21 Mar 2014 10:31:34 +0000
>>
>>> skb_zerocopy can copy elements of the frags array between skbs, but it doesn't
>>> orphan them. Also, it doesn't handle errors, so this patch takes care of that
>>> as well, and modify the callers accordingly. skb_tx_error() is also added to
>>> the callers so they will signal the failed delivery towards the creator of the
>>> skb.
>>>
>>> Signed-off-by: Zoltan Kiss <zoltan.kiss at citrix.com>
>>
>> Applied, thanks Zoltan.
>
> Actually, Zoltan, you have to fix this:
>
> net/core/skbuff.c: In function ‘skb_zerocopy’:
> net/core/skbuff.c:2172:2: warning: passing argument 1 of ‘skb_orphan_frags’ discards ‘const’ qualifi
> er from pointer target type [enabled by default]
> In file included from include/linux/tcp.h:21:0,
>                   from net/core/skbuff.c:50:
> include/linux/skbuff.h:1904:19: note: expected ‘struct sk_buff *’ but argument is of type ‘const str
> uct sk_buff *’
> net/core/skbuff.c:2173:3: warning: passing argument 1 of ‘skb_tx_error’ discards ‘const’ qualifier f
> rom pointer target type [enabled by default]
> net/core/skbuff.c:642:6: note: expected ‘struct sk_buff *’ but argument is of type ‘const struct sk_
> buff *’
>

Ok, resubmitted. 'from' is now not a const parameter, because 
skb->pfmemalloc might change.

Zoli



More information about the dev mailing list