On Mon, Jan 21, 2013 at 05:21:19AM -0800, Jesse Gross wrote:
> 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 <je...@nicira.com>

Before commit 24b019f80821, netdev_port_receive() called
skb_warn_if_lro() but ignored its return value.  skb_warn_if_lro()
doesn't appear to do anything to "neutralize" the skb.  Does this mean
that these earlier versions also have a bug that should be fixed
separately?

Acked-by: Ben Pfaff <b...@nicira.com>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to