[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 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: 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |