aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2013-01-21 05:23:32 -0800
committerJesse Gross <jesse@nicira.com>2013-01-21 17:30:47 -0800
commit225aa6464c57ce0918ff9b6b0c43e08f1950c9b5 (patch)
treef73a1cf8d7d2ad650f9993711e8138b721baf9e3
parentcd30a9142a962d25bd6c134754de598b7237b1bc (diff)
Revert "datapath: Avoid null deref when GSO is for verifying header integrity only."
This reverts commit 00c7faf3e5b7d4020e995a1429cf94313f197171. In general, it should not be possible have a NULL return value from skb_gso_segment() since we're not actually trying to verify the header integrity. No other callers with similar needs have NULL checks. The actual cause of the problem was LRO packets, which OVS isn't equipped to handle. The commit 33e031e99cc630baf1b0cb9256710dee7d9ab66d (datapath: Move LRO check from transmit to receive.) solves that problem by fixing the LRO check. In order to avoid possibly masking any other problems, this reverts the GSO check which should no longer be needed. Signed-off-by: Jesse Gross <jesse@nicira.com> Conflicts: datapath/datapath.c
-rw-r--r--datapath/datapath.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/datapath/datapath.c b/datapath/datapath.c
index c4ef0d23..8fa458ac 100644
--- a/datapath/datapath.c
+++ b/datapath/datapath.c
@@ -387,8 +387,6 @@ static int queue_gso_packets(int dp_ifindex, struct sk_buff *skb,
segs = skb_gso_segment(skb, NETIF_F_SG | NETIF_F_HW_CSUM);
if (IS_ERR(segs))
return PTR_ERR(segs);
- if (!segs)
- return queue_userspace_packet(dp_ifindex, skb, upcall_info);
/* Queue all of the segments. */
skb = segs;