]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Sep 2023 16:28:15 +0000 (17:28 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Sep 2023 16:28:15 +0000 (17:28 +0100)
added patches:
revert-net-macsec-preserve-ingress-frame-ordering.patch

queue-4.14/revert-net-macsec-preserve-ingress-frame-ordering.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/revert-net-macsec-preserve-ingress-frame-ordering.patch b/queue-4.14/revert-net-macsec-preserve-ingress-frame-ordering.patch
new file mode 100644 (file)
index 0000000..086257c
--- /dev/null
@@ -0,0 +1,50 @@
+From d3287e4038ca4f81e02067ab72d087af7224c68b Mon Sep 17 00:00:00 2001
+From: Sabrina Dubroca <sd@queasysnail.net>
+Date: Mon, 4 Sep 2023 10:56:04 +0200
+Subject: Revert "net: macsec: preserve ingress frame ordering"
+
+From: Sabrina Dubroca <sd@queasysnail.net>
+
+commit d3287e4038ca4f81e02067ab72d087af7224c68b upstream.
+
+This reverts commit ab046a5d4be4c90a3952a0eae75617b49c0cb01b.
+
+It was trying to work around an issue at the crypto layer by excluding
+ASYNC implementations of gcm(aes), because a bug in the AESNI version
+caused reordering when some requests bypassed the cryptd queue while
+older requests were still pending on the queue.
+
+This was fixed by commit 38b2f68b4264 ("crypto: aesni - Fix cryptd
+reordering problem on gcm"), which pre-dates ab046a5d4be4.
+
+Herbert Xu confirmed that all ASYNC implementations are expected to
+maintain the ordering of completions wrt requests, so we can use them
+in MACsec.
+
+On my test machine, this restores the performance of a single netperf
+instance, from 1.4Gbps to 4.4Gbps.
+
+Link: https://lore.kernel.org/netdev/9328d206c5d9f9239cae27e62e74de40b258471d.1692279161.git.sd@queasysnail.net/T/
+Link: https://lore.kernel.org/netdev/1b0cec71-d084-8153-2ba4-72ce71abeb65@byu.edu/
+Link: https://lore.kernel.org/netdev/d335ddaa-18dc-f9f0-17ee-9783d3b2ca29@mailbox.tu-dresden.de/
+Fixes: ab046a5d4be4 ("net: macsec: preserve ingress frame ordering")
+Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
+Link: https://lore.kernel.org/r/11c952469d114db6fb29242e1d9545e61f52f512.1693757159.git.sd@queasysnail.net
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/macsec.c |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/net/macsec.c
++++ b/drivers/net/macsec.c
+@@ -1311,8 +1311,7 @@ static struct crypto_aead *macsec_alloc_
+       struct crypto_aead *tfm;
+       int ret;
+-      /* Pick a sync gcm(aes) cipher to ensure order is preserved. */
+-      tfm = crypto_alloc_aead("gcm(aes)", 0, CRYPTO_ALG_ASYNC);
++      tfm = crypto_alloc_aead("gcm(aes)", 0, 0);
+       if (IS_ERR(tfm))
+               return tfm;
index 236828bab4f4c304c379162f7c60a7fde62e022b..3fd6cce0f4559f47b191bd7788fe0771540dcf5d 100644 (file)
@@ -31,3 +31,4 @@ powerpc-32-include-.branch_lt-in-data-section.patch
 powerpc-32s-fix-assembler-warning-about-r0.patch
 udf-check-consistency-of-space-bitmap-descriptor.patch
 udf-handle-error-when-adding-extent-to-a-file.patch
+revert-net-macsec-preserve-ingress-frame-ordering.patch