[ovs-git] Open vSwitch: Revert "datapath: Avoid null deref when GSO is for verifying header integrity only." (branch-1.5)

dev at openvswitch.org dev at openvswitch.org
Tue Jan 22 01:30:31 UTC 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, branch-1.5 has been updated
       via  a810294b48068d6a18af59995d663523a5f705d1 (commit)
       via  160d0b7e326f84c659bafbd008e2c1afbce4fbad (commit)
      from  8791e6bbc9f438dcd74ff2ddf62fc29e87182a99 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a810294b48068d6a18af59995d663523a5f705d1
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a810294b48068d6a18af59995d663523a5f705d1
Author: Jesse Gross <jesse at nicira.com>
		
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 at nicira.com>

Conflicts:

	datapath/datapath.c


commit 160d0b7e326f84c659bafbd008e2c1afbce4fbad
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=160d0b7e326f84c659bafbd008e2c1afbce4fbad
Author: Jesse Gross <jesse at nicira.com>
		
datapath: Move LRO check from transmit to receive.
		
Commit 24b019f808211a95078efd916064af0975ca5733 (datapath: Disable
LRO from userspace instead of the kernel.) accidentally moved the
check for LRO packets from the receive path to transmit.  Since
this check is supposed to protect OVS (and other parts of the system)
from packets that it cannot handle it is obviously not useful on
egress.  Therefore, this commit moves it back to the receive side.

The primary problem that this caused is upcalls to userspace tried
to segment the packet even though no segmentation information is
available.  This would later cause NULL pointer dereferences when
skb_gso_segment() did nothing.

Bug #14772

Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Ben Pfaff <blp at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 datapath/datapath.c     |    2 --
 datapath/vport-netdev.c |   23 ++++++++++++-----------
 2 files changed, 12 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list