From fdd89fdc9943878e7cb1c43ba872b13f26c25e59 Mon Sep 17 00:00:00 2001 From: Jesse Gross Date: Thu, 3 Mar 2011 13:53:08 -0800 Subject: [PATCH] datapath: Drop BUG_ON when checksumming and copying. Normally when performing checksum offloading the transport header must be present in the linear data area. However, this might not be the case with packets processed by GRO. On transmit these packets are processed by GSO if emulation of checksum offloading needs to be performed. Unlike skb_checksum_help(), the GSO code does not have any requirements about the packet structure. Since our code that copies and checksums packets to userspace is called in conditions similar to GSO and does not have any assumptions about layout, drop the BUG_ON assertion. NIC-343 Signed-off-by: Jesse Gross Acked-by: Ben Pfaff --- datapath/datapath.c | 1 - 1 file changed, 1 deletion(-) diff --git a/datapath/datapath.c b/datapath/datapath.c index ebfc2e99..5633dc9c 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -359,7 +359,6 @@ static void copy_and_csum_skb(struct sk_buff *skb, void *to) get_skb_csum_pointers(skb, &csum_start, &csum_offset); csum_start -= skb_headroom(skb); - BUG_ON(csum_start >= skb_headlen(skb)); skb_copy_bits(skb, 0, to, csum_start); -- 2.30.2