linux/net/openvswitch
Florian Westphal 1be080b5a8 net: make skb_gso_segment error handling more robust
commit 330966e501 upstream.

skb_gso_segment has three possible return values:
1. a pointer to the first segmented skb
2. an errno value (IS_ERR())
3. NULL.  This can happen when GSO is used for header verification.

However, several callers currently test IS_ERR instead of IS_ERR_OR_NULL
and would oops when NULL is returned.

Note that these call sites should never actually see such a NULL return
value; all callers mask out the GSO bits in the feature argument.

However, there have been issues with some protocol handlers erronously not
respecting the specified feature mask in some cases.

It is preferable to get 'have to turn off hw offloading, else slow' reports
rather than 'kernel crashes'.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-05-20 13:25:55 +01:00
..
actions.c openvswitch: fix panic with multiple vlan headers 2014-10-15 12:05:27 +02:00
datapath.c net: make skb_gso_segment error handling more robust 2015-05-20 13:25:55 +01:00
datapath.h openvswitch: Use net_ratelimit in OVS_NLERR 2014-05-16 13:40:28 -07:00
dp_notify.c genetlink: make multicast groups const, prevent abuse 2013-11-19 16:39:06 -05:00
flow.c openvswitch: Fix tracking of flags seen in TCP flows. 2014-06-29 14:10:51 -07:00
flow.h openvswitch: Fix tracking of flags seen in TCP flows. 2014-06-29 14:10:51 -07:00
flow_netlink.c openvswitch: Compact sw_flow_key. 2014-05-22 16:27:34 -07:00
flow_netlink.h openvswitch: Remove 5-tuple optimization. 2014-05-16 13:40:29 -07:00
flow_table.c openvswitch: Use exact lookup for flow_get and flow_del. 2014-06-30 20:47:15 -07:00
flow_table.h openvswitch: Use exact lookup for flow_get and flow_del. 2014-06-30 20:47:15 -07:00
Kconfig openvswitch: Add SCTP support 2013-08-26 14:03:13 -07:00
Makefile openvswitch: Restructure datapath.c and flow.c 2013-10-03 18:16:47 -07:00
vport-gre.c openvswitch: supply a dummy err_handler of gre_cisco_protocol to prevent kernel crash 2014-06-29 14:10:48 -07:00
vport-internal_dev.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
vport-internal_dev.h openvswitch: Replace Nicira Networks. 2012-05-03 18:55:23 -07:00
vport-netdev.c openvswitch: fix vport-netdev unregister 2013-10-16 14:50:22 -07:00
vport-netdev.h openvswitch: fix vport-netdev unregister 2013-10-16 14:50:22 -07:00
vport-vxlan.c vxlan: Add support for UDP checksums (v4 sending, v6 zero csums) 2014-06-04 22:46:39 -07:00
vport.c net: Replace u64_stats_fetch_begin_bh to u64_stats_fetch_begin_irq 2014-03-14 22:41:36 -04:00
vport.h openvswitch: Fix net exit. 2015-03-12 16:27:32 +00:00