]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Mar 2022 13:23:52 +0000 (14:23 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Mar 2022 13:23:52 +0000 (14:23 +0100)
added patches:
crypto-qat-disable-registration-of-algorithms.patch

queue-4.14/crypto-qat-disable-registration-of-algorithms.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/crypto-qat-disable-registration-of-algorithms.patch b/queue-4.14/crypto-qat-disable-registration-of-algorithms.patch
new file mode 100644 (file)
index 0000000..cd0ca16
--- /dev/null
@@ -0,0 +1,45 @@
+From 8893d27ffcaf6ec6267038a177cb87bcde4dd3de Mon Sep 17 00:00:00 2001
+From: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
+Date: Fri, 4 Mar 2022 17:54:47 +0000
+Subject: crypto: qat - disable registration of algorithms
+
+From: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
+
+commit 8893d27ffcaf6ec6267038a177cb87bcde4dd3de upstream.
+
+The implementations of aead and skcipher in the QAT driver do not
+support properly requests with the CRYPTO_TFM_REQ_MAY_BACKLOG flag set.
+If the HW queue is full, the driver returns -EBUSY but does not enqueue
+the request.
+This can result in applications like dm-crypt waiting indefinitely for a
+completion of a request that was never submitted to the hardware.
+
+To avoid this problem, disable the registration of all crypto algorithms
+in the QAT driver by setting the number of crypto instances to 0 at
+configuration time.
+
+Cc: stable@vger.kernel.org
+Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/crypto/qat/qat_common/qat_crypto.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/crypto/qat/qat_common/qat_crypto.c
++++ b/drivers/crypto/qat/qat_common/qat_crypto.c
+@@ -170,6 +170,14 @@ int qat_crypto_dev_config(struct adf_acc
+               goto err;
+       if (adf_cfg_section_add(accel_dev, "Accelerator0"))
+               goto err;
++
++      /* Temporarily set the number of crypto instances to zero to avoid
++       * registering the crypto algorithms.
++       * This will be removed when the algorithms will support the
++       * CRYPTO_TFM_REQ_MAY_BACKLOG flag
++       */
++      instances = 0;
++
+       for (i = 0; i < instances; i++) {
+               val = i;
+               snprintf(key, sizeof(key), ADF_CY "%d" ADF_RING_BANK_NUM, i);
index 08b03361631e39a611493c74be83ed4c4a900800..88d569d44b40138cf248add7734ee28af827e718 100644 (file)
@@ -13,3 +13,4 @@ netfilter-nf_tables-initialize-registers-in-nft_do_chain.patch
 acpi-x86-work-around-broken-xsdt-on-advantech-dac-bj01-board.patch
 acpi-battery-add-device-hid-and-quirk-for-microsoft-surface-go-3.patch
 acpi-video-force-backlight-native-for-clevo-nl5xru-and-nl5xnu.patch
+crypto-qat-disable-registration-of-algorithms.patch