[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH -next] xen-netback: fix some error return code



On Mon, 2013-12-16 at 21:57 +0800, Wei Yongjun wrote:
> On 12/16/2013 09:40 PM, Ian Campbell wrote:
> > On Mon, 2013-12-16 at 13:13 +0000, Wei Liu wrote:
> >> On Mon, Dec 16, 2013 at 01:49:29PM +0800, Wei Yongjun wrote:
> >>> From: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
> >>>
> >>> Fix to return -EPROTO error code instead of 0(overwrite by 
> >>> maybe_pull_tail())
> >>> if skb_partial_csum_set() return false.
> >>>
> >>> Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
> >>> ---
> >>>  drivers/net/xen-netback/netback.c | 16 ++++++++++++----
> >>>  1 file changed, 12 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/drivers/net/xen-netback/netback.c 
> >>> b/drivers/net/xen-netback/netback.c
> >>> index 800496b..b16daa7 100644
> >>> --- a/drivers/net/xen-netback/netback.c
> >>> +++ b/drivers/net/xen-netback/netback.c
> >>> @@ -1108,8 +1108,10 @@ static int checksum_setup_ip(struct xenvif *vif, 
> >>> struct sk_buff *skb,
> >>>                   goto out;
> >>>  
> >>>           if (!skb_partial_csum_set(skb, off,
> >>> -                                   offsetof(struct tcphdr, check)))
> >>> +                                   offsetof(struct tcphdr, check))) {
> >>> +                 err = -EPROTO;
> >> Why is this needed? It is set to -EPROTO before the 'switch'.
> > Agreed.
> 
> As I said in the description, err is overwrited to 0 by the above
> 'err = maybe_pull_tail(...)' call in the same 'case XXX'.
> Refer to the source code:

What tree/commit is this? Neither Linus', net or net-next look like this
to me.

> 
> 1104                 err = maybe_pull_tail(skb,
> 1105                                       off + sizeof(struct tcphdr),
> 1106                                       MAX_IP_HDR_LEN);
> 1107                 if (err < 0)
> 1108                         goto out;
> 1109 
> 1110                 if (!skb_partial_csum_set(skb, off,
> 1111                                           offsetof(struct tcphdr, 
> check)))
> 1112                         goto out;
> 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.