+++ /dev/null
-From d87b6b8fde8f24c39899cde985792637aeb7d1c2 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 28 Nov 2018 17:47:25 +0100
-Subject: arm64: tegra: Fix power key interrupt type on Jetson TX2
-
-From: Thierry Reding <treding@nvidia.com>
-
-[ Upstream commit 6f13f10b3bbfed3b29c812f0f65bef802ce05e3c ]
-
-In order for the correct interrupt type to be configured, the event
-action for the power key needs to be "asserted".
-
-Signed-off-by: Thierry Reding <treding@nvidia.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-index c71d762bf697b..a658a253e973e 100644
---- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-@@ -2,6 +2,7 @@
- /dts-v1/;
-
- #include <dt-bindings/input/linux-event-codes.h>
-+#include <dt-bindings/input/gpio-keys.h>
-
- #include "tegra186-p3310.dtsi"
-
-@@ -60,6 +61,7 @@
- linux,input-type = <EV_KEY>;
- linux,code = <KEY_POWER>;
- debounce-interval = <10>;
-+ wakeup-event-action = <EV_ACT_ASSERTED>;
- wakeup-source;
- };
-
---
-2.20.1
-
+++ /dev/null
-From 504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a Mon Sep 17 00:00:00 2001
-From: Ard Biesheuvel <ardb@kernel.org>
-Date: Sat, 5 Oct 2019 11:11:10 +0200
-Subject: crypto: geode-aes - switch to skcipher for cbc(aes) fallback
-
-From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-
-commit 504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a upstream.
-
-Commit 79c65d179a40e145 ("crypto: cbc - Convert to skcipher") updated
-the generic CBC template wrapper from a blkcipher to a skcipher algo,
-to get away from the deprecated blkcipher interface. However, as a side
-effect, drivers that instantiate CBC transforms using the blkcipher as
-a fallback no longer work, since skciphers can wrap blkciphers but not
-the other way around. This broke the geode-aes driver.
-
-So let's fix it by moving to the sync skcipher interface when allocating
-the fallback. At the same time, align with the generic API for ECB and
-CBC by rejecting inputs that are not a multiple of the AES block size.
-
-Fixes: 79c65d179a40e145 ("crypto: cbc - Convert to skcipher")
-Cc: <stable@vger.kernel.org> # v4.20+ ONLY
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Signed-off-by: Florian Bezdeka <florian@bezdeka.de>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/crypto/geode-aes.c | 57 ++++++++++++++++++++++++++-------------------
- drivers/crypto/geode-aes.h | 2 -
- 2 files changed, 34 insertions(+), 25 deletions(-)
-
---- a/drivers/crypto/geode-aes.c
-+++ b/drivers/crypto/geode-aes.c
-@@ -14,6 +14,7 @@
- #include <linux/spinlock.h>
- #include <crypto/algapi.h>
- #include <crypto/aes.h>
-+#include <crypto/skcipher.h>
-
- #include <linux/io.h>
- #include <linux/delay.h>
-@@ -170,13 +171,15 @@ static int geode_setkey_blk(struct crypt
- /*
- * The requested key size is not supported by HW, do a fallback
- */
-- op->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK;
-- op->fallback.blk->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
-+ crypto_sync_skcipher_clear_flags(op->fallback.blk, CRYPTO_TFM_REQ_MASK);
-+ crypto_sync_skcipher_set_flags(op->fallback.blk,
-+ tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
-
-- ret = crypto_blkcipher_setkey(op->fallback.blk, key, len);
-+ ret = crypto_sync_skcipher_setkey(op->fallback.blk, key, len);
- if (ret) {
- tfm->crt_flags &= ~CRYPTO_TFM_RES_MASK;
-- tfm->crt_flags |= (op->fallback.blk->base.crt_flags & CRYPTO_TFM_RES_MASK);
-+ tfm->crt_flags |= crypto_sync_skcipher_get_flags(op->fallback.blk) &
-+ CRYPTO_TFM_RES_MASK;
- }
- return ret;
- }
-@@ -185,33 +188,28 @@ static int fallback_blk_dec(struct blkci
- struct scatterlist *dst, struct scatterlist *src,
- unsigned int nbytes)
- {
-- unsigned int ret;
-- struct crypto_blkcipher *tfm;
- struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-+ SYNC_SKCIPHER_REQUEST_ON_STACK(req, op->fallback.blk);
-
-- tfm = desc->tfm;
-- desc->tfm = op->fallback.blk;
--
-- ret = crypto_blkcipher_decrypt_iv(desc, dst, src, nbytes);
-+ skcipher_request_set_sync_tfm(req, op->fallback.blk);
-+ skcipher_request_set_callback(req, 0, NULL, NULL);
-+ skcipher_request_set_crypt(req, src, dst, nbytes, desc->info);
-
-- desc->tfm = tfm;
-- return ret;
-+ return crypto_skcipher_decrypt(req);
- }
-+
- static int fallback_blk_enc(struct blkcipher_desc *desc,
- struct scatterlist *dst, struct scatterlist *src,
- unsigned int nbytes)
- {
-- unsigned int ret;
-- struct crypto_blkcipher *tfm;
- struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-+ SYNC_SKCIPHER_REQUEST_ON_STACK(req, op->fallback.blk);
-
-- tfm = desc->tfm;
-- desc->tfm = op->fallback.blk;
--
-- ret = crypto_blkcipher_encrypt_iv(desc, dst, src, nbytes);
-+ skcipher_request_set_sync_tfm(req, op->fallback.blk);
-+ skcipher_request_set_callback(req, 0, NULL, NULL);
-+ skcipher_request_set_crypt(req, src, dst, nbytes, desc->info);
-
-- desc->tfm = tfm;
-- return ret;
-+ return crypto_skcipher_encrypt(req);
- }
-
- static void
-@@ -311,6 +309,9 @@ geode_cbc_decrypt(struct blkcipher_desc
- struct blkcipher_walk walk;
- int err, ret;
-
-+ if (nbytes % AES_BLOCK_SIZE)
-+ return -EINVAL;
-+
- if (unlikely(op->keylen != AES_KEYSIZE_128))
- return fallback_blk_dec(desc, dst, src, nbytes);
-
-@@ -343,6 +344,9 @@ geode_cbc_encrypt(struct blkcipher_desc
- struct blkcipher_walk walk;
- int err, ret;
-
-+ if (nbytes % AES_BLOCK_SIZE)
-+ return -EINVAL;
-+
- if (unlikely(op->keylen != AES_KEYSIZE_128))
- return fallback_blk_enc(desc, dst, src, nbytes);
-
-@@ -370,9 +374,8 @@ static int fallback_init_blk(struct cryp
- const char *name = crypto_tfm_alg_name(tfm);
- struct geode_aes_op *op = crypto_tfm_ctx(tfm);
-
-- op->fallback.blk = crypto_alloc_blkcipher(name, 0,
-- CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
--
-+ op->fallback.blk = crypto_alloc_sync_skcipher(name, 0,
-+ CRYPTO_ALG_NEED_FALLBACK);
- if (IS_ERR(op->fallback.blk)) {
- printk(KERN_ERR "Error allocating fallback algo %s\n", name);
- return PTR_ERR(op->fallback.blk);
-@@ -385,7 +388,7 @@ static void fallback_exit_blk(struct cry
- {
- struct geode_aes_op *op = crypto_tfm_ctx(tfm);
-
-- crypto_free_blkcipher(op->fallback.blk);
-+ crypto_free_sync_skcipher(op->fallback.blk);
- op->fallback.blk = NULL;
- }
-
-@@ -424,6 +427,9 @@ geode_ecb_decrypt(struct blkcipher_desc
- struct blkcipher_walk walk;
- int err, ret;
-
-+ if (nbytes % AES_BLOCK_SIZE)
-+ return -EINVAL;
-+
- if (unlikely(op->keylen != AES_KEYSIZE_128))
- return fallback_blk_dec(desc, dst, src, nbytes);
-
-@@ -454,6 +460,9 @@ geode_ecb_encrypt(struct blkcipher_desc
- struct blkcipher_walk walk;
- int err, ret;
-
-+ if (nbytes % AES_BLOCK_SIZE)
-+ return -EINVAL;
-+
- if (unlikely(op->keylen != AES_KEYSIZE_128))
- return fallback_blk_enc(desc, dst, src, nbytes);
-
---- a/drivers/crypto/geode-aes.h
-+++ b/drivers/crypto/geode-aes.h
-@@ -64,7 +64,7 @@ struct geode_aes_op {
- u8 *iv;
-
- union {
-- struct crypto_blkcipher *blk;
-+ struct crypto_sync_skcipher *blk;
- struct crypto_cipher *cip;
- } fallback;
- u32 keylen;
kbuild-fix-single-target-build-for-external-module.patch
mtd-fix-mtd_oobavail-incoherent-returned-value.patch
arm-dts-pxa-clean-up-usb-controller-nodes.patch
-arm64-tegra-fix-power-key-interrupt-type-on-jetson-t.patch
clk-sunxi-ng-h3-h5-fix-csi_mclk-parent.patch
arm-dts-realview-fix-some-more-duplicate-regulator-n.patch
dlm-fix-invalid-cluster-name-warning.patch
kvm-x86-fix-presentation-of-tsx-feature-in-arch_capabilities.patch
crypto-crypto4xx-fix-double-free-in-crypto4xx_destroy_sdr.patch
crypto-af_alg-cast-ki_complete-ternary-op-to-int.patch
-crypto-geode-aes-switch-to-skcipher-for-cbc-aes-fallback.patch
crypto-ccp-fix-uninitialized-list-head.patch
crypto-ecdh-fix-big-endian-bug-in-ecc-library.patch
crypto-user-fix-memory-leak-in-crypto_report.patch
+++ /dev/null
-From 9da49d0b489610801400fa2d55a4f43d1c9492d5 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 3 Dec 2018 22:58:25 +0800
-Subject: arm64: dts: allwinner: a64: Fix up RTC device node and clock
- references
-
-From: Chen-Yu Tsai <wens@csie.org>
-
-[ Upstream commit 44ff3cafcd7f413e7710a58ac40cfdc3a9380097 ]
-
-The RTC module on the A64 was claimed to be the same as on the A31, when
-in fact it is not. It is actually compatible to the H3's RTC. The A64's
-RTC has some extra crypto-related registers which the H3's does not, but
-the exact function of these is not clear.
-
-This patch fixes the compatible string and clock properties to conform
-to the updated bindings. The device node for the internal oscillator is
-removed, as it is internalized into the RTC device. Clock references to
-the IOSC and LOSC are also fixed.
-
-Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Signed-off-by: Chen-Yu Tsai <wens@csie.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 22 ++++++-------------
- 1 file changed, 7 insertions(+), 15 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-index d3daf90a8715c..f2e1b1c3c92a8 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-@@ -123,15 +123,7 @@
- #clock-cells = <0>;
- compatible = "fixed-clock";
- clock-frequency = <32768>;
-- clock-output-names = "osc32k";
-- };
--
-- iosc: internal-osc-clk {
-- #clock-cells = <0>;
-- compatible = "fixed-clock";
-- clock-frequency = <16000000>;
-- clock-accuracy = <300000000>;
-- clock-output-names = "iosc";
-+ clock-output-names = "ext-osc32k";
- };
-
- psci {
-@@ -354,7 +346,7 @@
- ccu: clock@1c20000 {
- compatible = "allwinner,sun50i-a64-ccu";
- reg = <0x01c20000 0x400>;
-- clocks = <&osc24M>, <&osc32k>;
-+ clocks = <&osc24M>, <&rtc 0>;
- clock-names = "hosc", "losc";
- #clock-cells = <1>;
- #reset-cells = <1>;
-@@ -687,11 +679,12 @@
- };
-
- rtc: rtc@1f00000 {
-- compatible = "allwinner,sun6i-a31-rtc";
-- reg = <0x01f00000 0x54>;
-+ compatible = "allwinner,sun50i-a64-rtc",
-+ "allwinner,sun8i-h3-rtc";
-+ reg = <0x01f00000 0x400>;
- interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
-- clock-output-names = "rtc-osc32k", "rtc-osc32k-out";
-+ clock-output-names = "osc32k", "osc32k-out", "iosc";
- clocks = <&osc32k>;
- #clock-cells = <1>;
- };
-@@ -708,8 +701,7 @@
- r_ccu: clock@1f01400 {
- compatible = "allwinner,sun50i-a64-r-ccu";
- reg = <0x01f01400 0x100>;
-- clocks = <&osc24M>, <&osc32k>, <&iosc>,
-- <&ccu 11>;
-+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>, <&ccu 11>;
- clock-names = "hosc", "losc", "iosc", "pll-periph";
- #clock-cells = <1>;
- #reset-cells = <1>;
---
-2.20.1
-
+++ /dev/null
-From 04760e45777a137706cbd4c30a98e70a1bbbff36 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 5 Nov 2018 21:50:13 -0800
-Subject: arm64: dts: qcom: sdm845-mtp: Mark protected gcc clocks
-
-From: Bjorn Andersson <bjorn.andersson@linaro.org>
-
-[ Upstream commit d206e6b7ea3fdc8ec8f6be9a2ecfe58142b49e37 ]
-
-As of v4.20-rc1 probing the GCC driver on a SDM845 device with the
-standard security implementation causes an access violation and an
-immediate system restart. Use the protected-clocks property to mark the
-offending clocks protected for the MTP, in order to allow it to boot.
-
-Cc: Stephen Boyd <sboyd@kernel.org>
-Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
-Acked-by: Andy Gross <andy.gross@linaro.org>
-Signed-off-by: Stephen Boyd <sboyd@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
-index 6921f8dc5ebbc..ea5bdda0681e6 100644
---- a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
-+++ b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
-@@ -22,6 +22,12 @@
- };
- };
-
-+&gcc {
-+ protected-clocks = <GCC_QSPI_CORE_CLK>,
-+ <GCC_QSPI_CORE_CLK_SRC>,
-+ <GCC_QSPI_CNOC_PERIPH_AHB_CLK>;
-+};
-+
- &i2c10 {
- status = "okay";
- clock-frequency = <400000>;
---
-2.20.1
-
+++ /dev/null
-From f9887ec47ccd1955c8deb844a4f65f06b3719bf6 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 28 Nov 2018 17:47:25 +0100
-Subject: arm64: tegra: Fix power key interrupt type on Jetson TX2
-
-From: Thierry Reding <treding@nvidia.com>
-
-[ Upstream commit 6f13f10b3bbfed3b29c812f0f65bef802ce05e3c ]
-
-In order for the correct interrupt type to be configured, the event
-action for the power key needs to be "asserted".
-
-Signed-off-by: Thierry Reding <treding@nvidia.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-index bd5305a634b16..9fc577a1ec442 100644
---- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-@@ -2,6 +2,7 @@
- /dts-v1/;
-
- #include <dt-bindings/input/linux-event-codes.h>
-+#include <dt-bindings/input/gpio-keys.h>
-
- #include "tegra186-p3310.dtsi"
-
-@@ -121,6 +122,7 @@
- linux,input-type = <EV_KEY>;
- linux,code = <KEY_POWER>;
- debounce-interval = <10>;
-+ wakeup-event-action = <EV_ACT_ASSERTED>;
- wakeup-source;
- };
-
---
-2.20.1
-
+++ /dev/null
-From 504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a Mon Sep 17 00:00:00 2001
-From: Ard Biesheuvel <ardb@kernel.org>
-Date: Sat, 5 Oct 2019 11:11:10 +0200
-Subject: crypto: geode-aes - switch to skcipher for cbc(aes) fallback
-
-From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-
-commit 504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a upstream.
-
-Commit 79c65d179a40e145 ("crypto: cbc - Convert to skcipher") updated
-the generic CBC template wrapper from a blkcipher to a skcipher algo,
-to get away from the deprecated blkcipher interface. However, as a side
-effect, drivers that instantiate CBC transforms using the blkcipher as
-a fallback no longer work, since skciphers can wrap blkciphers but not
-the other way around. This broke the geode-aes driver.
-
-So let's fix it by moving to the sync skcipher interface when allocating
-the fallback. At the same time, align with the generic API for ECB and
-CBC by rejecting inputs that are not a multiple of the AES block size.
-
-Fixes: 79c65d179a40e145 ("crypto: cbc - Convert to skcipher")
-Cc: <stable@vger.kernel.org> # v4.20+ ONLY
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Signed-off-by: Florian Bezdeka <florian@bezdeka.de>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/crypto/geode-aes.c | 57 ++++++++++++++++++++++++++-------------------
- drivers/crypto/geode-aes.h | 2 -
- 2 files changed, 34 insertions(+), 25 deletions(-)
-
---- a/drivers/crypto/geode-aes.c
-+++ b/drivers/crypto/geode-aes.c
-@@ -14,6 +14,7 @@
- #include <linux/spinlock.h>
- #include <crypto/algapi.h>
- #include <crypto/aes.h>
-+#include <crypto/skcipher.h>
-
- #include <linux/io.h>
- #include <linux/delay.h>
-@@ -170,13 +171,15 @@ static int geode_setkey_blk(struct crypt
- /*
- * The requested key size is not supported by HW, do a fallback
- */
-- op->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK;
-- op->fallback.blk->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
-+ crypto_sync_skcipher_clear_flags(op->fallback.blk, CRYPTO_TFM_REQ_MASK);
-+ crypto_sync_skcipher_set_flags(op->fallback.blk,
-+ tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
-
-- ret = crypto_blkcipher_setkey(op->fallback.blk, key, len);
-+ ret = crypto_sync_skcipher_setkey(op->fallback.blk, key, len);
- if (ret) {
- tfm->crt_flags &= ~CRYPTO_TFM_RES_MASK;
-- tfm->crt_flags |= (op->fallback.blk->base.crt_flags & CRYPTO_TFM_RES_MASK);
-+ tfm->crt_flags |= crypto_sync_skcipher_get_flags(op->fallback.blk) &
-+ CRYPTO_TFM_RES_MASK;
- }
- return ret;
- }
-@@ -185,33 +188,28 @@ static int fallback_blk_dec(struct blkci
- struct scatterlist *dst, struct scatterlist *src,
- unsigned int nbytes)
- {
-- unsigned int ret;
-- struct crypto_blkcipher *tfm;
- struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-+ SYNC_SKCIPHER_REQUEST_ON_STACK(req, op->fallback.blk);
-
-- tfm = desc->tfm;
-- desc->tfm = op->fallback.blk;
--
-- ret = crypto_blkcipher_decrypt_iv(desc, dst, src, nbytes);
-+ skcipher_request_set_sync_tfm(req, op->fallback.blk);
-+ skcipher_request_set_callback(req, 0, NULL, NULL);
-+ skcipher_request_set_crypt(req, src, dst, nbytes, desc->info);
-
-- desc->tfm = tfm;
-- return ret;
-+ return crypto_skcipher_decrypt(req);
- }
-+
- static int fallback_blk_enc(struct blkcipher_desc *desc,
- struct scatterlist *dst, struct scatterlist *src,
- unsigned int nbytes)
- {
-- unsigned int ret;
-- struct crypto_blkcipher *tfm;
- struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-+ SYNC_SKCIPHER_REQUEST_ON_STACK(req, op->fallback.blk);
-
-- tfm = desc->tfm;
-- desc->tfm = op->fallback.blk;
--
-- ret = crypto_blkcipher_encrypt_iv(desc, dst, src, nbytes);
-+ skcipher_request_set_sync_tfm(req, op->fallback.blk);
-+ skcipher_request_set_callback(req, 0, NULL, NULL);
-+ skcipher_request_set_crypt(req, src, dst, nbytes, desc->info);
-
-- desc->tfm = tfm;
-- return ret;
-+ return crypto_skcipher_encrypt(req);
- }
-
- static void
-@@ -311,6 +309,9 @@ geode_cbc_decrypt(struct blkcipher_desc
- struct blkcipher_walk walk;
- int err, ret;
-
-+ if (nbytes % AES_BLOCK_SIZE)
-+ return -EINVAL;
-+
- if (unlikely(op->keylen != AES_KEYSIZE_128))
- return fallback_blk_dec(desc, dst, src, nbytes);
-
-@@ -343,6 +344,9 @@ geode_cbc_encrypt(struct blkcipher_desc
- struct blkcipher_walk walk;
- int err, ret;
-
-+ if (nbytes % AES_BLOCK_SIZE)
-+ return -EINVAL;
-+
- if (unlikely(op->keylen != AES_KEYSIZE_128))
- return fallback_blk_enc(desc, dst, src, nbytes);
-
-@@ -370,9 +374,8 @@ static int fallback_init_blk(struct cryp
- const char *name = crypto_tfm_alg_name(tfm);
- struct geode_aes_op *op = crypto_tfm_ctx(tfm);
-
-- op->fallback.blk = crypto_alloc_blkcipher(name, 0,
-- CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
--
-+ op->fallback.blk = crypto_alloc_sync_skcipher(name, 0,
-+ CRYPTO_ALG_NEED_FALLBACK);
- if (IS_ERR(op->fallback.blk)) {
- printk(KERN_ERR "Error allocating fallback algo %s\n", name);
- return PTR_ERR(op->fallback.blk);
-@@ -385,7 +388,7 @@ static void fallback_exit_blk(struct cry
- {
- struct geode_aes_op *op = crypto_tfm_ctx(tfm);
-
-- crypto_free_blkcipher(op->fallback.blk);
-+ crypto_free_sync_skcipher(op->fallback.blk);
- op->fallback.blk = NULL;
- }
-
-@@ -424,6 +427,9 @@ geode_ecb_decrypt(struct blkcipher_desc
- struct blkcipher_walk walk;
- int err, ret;
-
-+ if (nbytes % AES_BLOCK_SIZE)
-+ return -EINVAL;
-+
- if (unlikely(op->keylen != AES_KEYSIZE_128))
- return fallback_blk_dec(desc, dst, src, nbytes);
-
-@@ -454,6 +460,9 @@ geode_ecb_encrypt(struct blkcipher_desc
- struct blkcipher_walk walk;
- int err, ret;
-
-+ if (nbytes % AES_BLOCK_SIZE)
-+ return -EINVAL;
-+
- if (unlikely(op->keylen != AES_KEYSIZE_128))
- return fallback_blk_enc(desc, dst, src, nbytes);
-
---- a/drivers/crypto/geode-aes.h
-+++ b/drivers/crypto/geode-aes.h
-@@ -64,7 +64,7 @@ struct geode_aes_op {
- u8 *iv;
-
- union {
-- struct crypto_blkcipher *blk;
-+ struct crypto_sync_skcipher *blk;
- struct crypto_cipher *cip;
- } fallback;
- u32 keylen;
+++ /dev/null
-From fb5901019cef9ed5a76ddeaf83eccff8b2bd5c28 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 30 Nov 2018 09:08:21 -0600
-Subject: kbuild: Enable dtc graph_port warning by default
-
-From: Rob Herring <robh@kernel.org>
-
-[ Upstream commit a2237fec1e0645d1e99e108f2658c26cb5a66c74 ]
-
-All the 'graph_port' warnings have been fixed or have pending fixes, so
-we can enable it by default now.
-
-Signed-off-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- scripts/Makefile.lib | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
-index a232741e3fd3b..18f44bba3c8c2 100644
---- a/scripts/Makefile.lib
-+++ b/scripts/Makefile.lib
-@@ -251,7 +251,6 @@ DTC_FLAGS += -Wno-unit_address_vs_reg \
- -Wno-avoid_unnecessary_addr_size \
- -Wno-alias_paths \
- -Wno-graph_child_address \
-- -Wno-graph_port \
- -Wno-simple_bus_reg \
- -Wno-unique_unit_address \
- -Wno-pci_device_reg
---
-2.20.1
-
gpu-host1x-fix-syncpoint-id-field-size-on-tegra186.patch
lockd-fix-decoding-of-test-results.patch
sctp-increase-sk_wmem_alloc-when-head-truesize-is-in.patch
-arm64-dts-qcom-sdm845-mtp-mark-protected-gcc-clocks.patch
iommu-amd-fix-line-break-in-error-log-reporting.patch
asoc-rsnd-tidyup-registering-method-for-rsnd_kctrl_n.patch
arm-dts-sun4i-fix-gpio-keys-warning.patch
soc-renesas-r8a77980-sysc-correct-names-of-a2dp-01-p.patch
soc-renesas-r8a77980-sysc-correct-a3vip-012-power-do.patch
kbuild-disable-dtc-simple_bus_reg-warnings-by-defaul.patch
-kbuild-enable-dtc-graph_port-warning-by-default.patch
tcp-make-tcp_space-aware-of-socket-backlog.patch
arm-dts-mmp2-fix-the-gpio-interrupt-cell-number.patch
arm-dts-realview-pbx-fix-duplicate-regulator-nodes.patch
mtd-fix-mtd_oobavail-incoherent-returned-value.patch
arm-dts-pxa-clean-up-usb-controller-nodes.patch
clk-meson-meson8b-fix-the-offset-of-vid_pll_dco-s-n-.patch
-arm64-tegra-fix-power-key-interrupt-type-on-jetson-t.patch
clk-sunxi-ng-h3-h5-fix-csi_mclk-parent.patch
clk-qcom-fix-msm8998-resets.patch
media-cxd2880-spi-fix-probe-when-dvb_attach-fails.patch
soc-renesas-r8a77990-sysc-fix-initialization-order-o.patch
mlxsw-spectrum_router-relax-gre-decap-matching-check.patch
arm-dts-sun8i-a23-a33-fix-up-rtc-device-node.patch
-arm64-dts-allwinner-a64-fix-up-rtc-device-node-and-c.patch
ib-hfi1-ignore-lni-errors-before-dc8051-transitions-.patch
ib-hfi1-close-vnic-sdma_progress-sleep-window.patch
mlx4-use-snprintf-instead-of-complicated-strcpy.patch
crypto-crypto4xx-fix-double-free-in-crypto4xx_destroy_sdr.patch
crypto-atmel-aes-fix-iv-handling-when-req-nbytes-ivsize.patch
crypto-af_alg-cast-ki_complete-ternary-op-to-int.patch
-crypto-geode-aes-switch-to-skcipher-for-cbc-aes-fallback.patch
crypto-ccp-fix-uninitialized-list-head.patch
crypto-ecdh-fix-big-endian-bug-in-ecc-library.patch
crypto-user-fix-memory-leak-in-crypto_report.patch