Home Home > GIT Browse > SLE15-SP1
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Tesarik <ptesarik@suse.cz>2019-10-18 21:13:23 +0200
committerPetr Tesarik <ptesarik@suse.cz>2019-10-18 21:13:23 +0200
commit80200902b44db625b5d74256dcafe9dc1c16939e (patch)
treef7324f875b4e6826827aea0a62c7a2d07089330f
parentf89a6146c2da118729f471584272df5c81267250 (diff)
parent46c29e273fbac7ae8c67d4fefa40722f1875fb2f (diff)
Merge branch 'users/tbogendoerfer/SLE15-SP1/for-next' into SLE15-SP1
Pull an ixgbe fix from Thomas Bogendoerfer
-rw-r--r--patches.suse/ixgbe-Fix-secpath-usage-for-IPsec-TX-offload.patch43
-rw-r--r--series.conf1
2 files changed, 44 insertions, 0 deletions
diff --git a/patches.suse/ixgbe-Fix-secpath-usage-for-IPsec-TX-offload.patch b/patches.suse/ixgbe-Fix-secpath-usage-for-IPsec-TX-offload.patch
new file mode 100644
index 0000000000..29663e919d
--- /dev/null
+++ b/patches.suse/ixgbe-Fix-secpath-usage-for-IPsec-TX-offload.patch
@@ -0,0 +1,43 @@
+From: Steffen Klassert <steffen.klassert@secunet.com>
+Date: Thu, 12 Sep 2019 13:01:44 +0200
+Subject: ixgbe: Fix secpath usage for IPsec TX offload.
+Patch-mainline: v5.3
+Git-commit: f39b683d35dfa93a58f1b400a8ec0ff81296b37c
+References: bsc#1113994 FATE#326315 FATE#326317 bsc#1151807
+
+The ixgbe driver currently does IPsec TX offloading
+based on an existing secpath. However, the secpath
+can also come from the RX side, in this case it is
+misinterpreted for TX offload and the packets are
+dropped with a "bad sa_idx" error. Fix this by using
+the xfrm_offload() function to test for TX offload.
+
+Fixes: 592594704761 ("ixgbe: process the Tx ipsec offload")
+Reported-by: Michael Marley <michael@michaelmarley.com>
+Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
+---
+ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
++++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+@@ -61,6 +61,7 @@
+ #include <net/vxlan.h>
+ #include <net/mpls.h>
+ #include <net/xdp_sock.h>
++#include <net/xfrm.h>
+
+ #include "ixgbe.h"
+ #include "ixgbe_common.h"
+@@ -8721,7 +8722,8 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct
+ #endif /* IXGBE_FCOE */
+
+ #ifdef CONFIG_IXGBE_IPSEC
+- if (skb->sp && !ixgbe_ipsec_tx(tx_ring, first, &ipsec_tx))
++ if (xfrm_offload(skb) &&
++ !ixgbe_ipsec_tx(tx_ring, first, &ipsec_tx))
+ goto out_drop;
+ #endif
+ tso = ixgbe_tso(tx_ring, first, &hdr_len, &ipsec_tx);
diff --git a/series.conf b/series.conf
index 49ec1718a8..bc766a1afc 100644
--- a/series.conf
+++ b/series.conf
@@ -49851,6 +49851,7 @@
patches.suse/tun-fix-use-after-free-when-register-netdev-failed.patch
patches.suse/ipv6-Fix-the-link-time-qualifier-of-ping_v6_proc_exi.patch
patches.suse/net-Fix-null-de-reference-of-device-refcount.patch
+ patches.suse/ixgbe-Fix-secpath-usage-for-IPsec-TX-offload.patch
patches.suse/sctp-Fix-the-link-time-qualifier-of-sctp_ctrlsock_ex.patch
patches.suse/cdc_ether-fix-rndis-support-for-Mediatek-based-smart.patch
patches.suse/tpm_tis_core-Set-TPM_CHIP_FLAG_IRQ-before-probing-fo.patch