From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH] xen: netback: Drop GSO SKBs which do not have csum_blank. Date: Wed, 5 Jan 2011 12:54:14 +0000 Message-ID: <1294232054-13891-1-git-send-email-ian.campbell@citrix.com> References: <1294232027.3831.3396.camel@zakaz.uk.xensource.com> Return-path: In-Reply-To: <1294232027.3831.3396.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Jeremy Fitzhardinge , Ian Campbell List-Id: xen-devel@lists.xenproject.org The Linux network stack expects all GSO SKBs to have ip_summed == CHECKSUM_PARTIAL (which implies that the frame contains a partial checksum) and the Xen network ring protocol similarly expects an SKB which has GSO set to also have NETRX_csum_blank (which also implies a partial checksum). Therefore drop such frames on receive otherwise they will trigger the warning in skb_gso_segment. Signed-off-by: Ian Campbell Cc: Jeremy Fitzhardinge Cc: xen-devel@lists.xensource.com --- drivers/xen/netback/netback.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/xen/netback/netback.c b/drivers/xen/netback/netback.c index 1e362f7..851721a 100644 --- a/drivers/xen/netback/netback.c +++ b/drivers/xen/netback/netback.c @@ -1513,6 +1513,10 @@ static void net_tx_submit(struct xen_netbk *netbk) kfree_skb(skb); continue; } + } else if (skb_is_gso(skb)) { + DPRINTK("Dropping GSO but not CHECKSUM_PARTIAL skb\n"); + kfree_skb(skb); + continue; } if (unlikely(netbk_copy_skb_mode == NETBK_ALWAYS_COPY_SKB) && -- 1.5.6.5