Backport 5.10.100 LTS patches from upstream
moxart: fix potential use-after-free on remove path crypto: api - Move cryptomgr soft dependency into algapi
Already merged: tipc: improve size validations for received domain records KVM: s390: Return error on SIDA memop on normal guest
Total patches: 2
Greg Kroah-Hartman (1): moxart: fix potential use-after-free on remove path
Herbert Xu (1): crypto: api - Move cryptomgr soft dependency into algapi
crypto/algapi.c | 1 + crypto/api.c | 1 - drivers/mmc/host/moxart-mmc.c | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-)
From: Greg Kroah-Hartman gregkh@linuxfoundation.org
stable inclusion from stable-v5.10.100 commit be93028d306dac9f5b59ebebd9ec7abcfc69c156 bugzilla: https://gitee.com/openeuler/kernel/issues/I55O9Y
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=...
--------------------------------
commit bd2db32e7c3e35bd4d9b8bbff689434a50893546 upstream.
It was reported that the mmc host structure could be accessed after it was freed in moxart_remove(), so fix this by saving the base register of the device and using it instead of the pointer dereference.
Cc: Ulf Hansson ulf.hansson@linaro.org Cc: Xiyu Yang xiyuyang19@fudan.edu.cn Cc: Xin Xiong xiongx18@fudan.edu.cn Cc: Xin Tan tanxin.ctf@gmail.com Cc: Tony Lindgren tony@atomide.com Cc: Yang Li yang.lee@linux.alibaba.com Cc: linux-mmc@vger.kernel.org Cc: stable stable@vger.kernel.org Reported-by: whitehat002 hackyzh002@gmail.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Link: https://lore.kernel.org/r/20220127071638.4057899-1-gregkh@linuxfoundation.or... Signed-off-by: Ulf Hansson ulf.hansson@linaro.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Signed-off-by: Yu Liao liaoyu15@huawei.com Reviewed-by: Wei Li liwei391@huawei.com Signed-off-by: Zheng Zengkai zhengzengkai@huawei.com --- drivers/mmc/host/moxart-mmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/host/moxart-mmc.c b/drivers/mmc/host/moxart-mmc.c index 7697068ad969..ea67a7ef2390 100644 --- a/drivers/mmc/host/moxart-mmc.c +++ b/drivers/mmc/host/moxart-mmc.c @@ -708,12 +708,12 @@ static int moxart_remove(struct platform_device *pdev) if (!IS_ERR_OR_NULL(host->dma_chan_rx)) dma_release_channel(host->dma_chan_rx); mmc_remove_host(mmc); - mmc_free_host(mmc);
writel(0, host->base + REG_INTERRUPT_MASK); writel(0, host->base + REG_POWER_CONTROL); writel(readl(host->base + REG_CLOCK_CONTROL) | CLK_OFF, host->base + REG_CLOCK_CONTROL); + mmc_free_host(mmc);
return 0; }
From: Herbert Xu herbert@gondor.apana.org.au
stable inclusion from stable-v5.10.100 commit 2951d21689762a2bb6b2a81e9d5ea49a1c396be4 bugzilla: https://gitee.com/openeuler/kernel/issues/I55O9Y
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=...
--------------------------------
commit c6ce9c5831cae515d375a01b97ae1778689acf19 upstream.
The soft dependency on cryptomgr is only needed in algapi because if algapi isn't present then no algorithms can be loaded. This also fixes the case where api is built-in but algapi is built as a module as the soft dependency would otherwise get lost.
Fixes: 8ab23d547f65 ("crypto: api - Add softdep on cryptomgr") Reported-by: Jan Beulich jbeulich@suse.com Signed-off-by: Herbert Xu herbert@gondor.apana.org.au Tested-by: Jan Beulich jbeulich@suse.com Signed-off-by: Herbert Xu herbert@gondor.apana.org.au Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Signed-off-by: Yu Liao liaoyu15@huawei.com Reviewed-by: Wei Li liwei391@huawei.com Signed-off-by: Zheng Zengkai zhengzengkai@huawei.com --- crypto/algapi.c | 1 + crypto/api.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/crypto/algapi.c b/crypto/algapi.c index fdabf2675b63..9de27daa98b4 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c @@ -1295,3 +1295,4 @@ module_exit(crypto_algapi_exit);
MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Cryptographic algorithms API"); +MODULE_SOFTDEP("pre: cryptomgr"); diff --git a/crypto/api.c b/crypto/api.c index c4eda56cff89..5ffcd3ab4a75 100644 --- a/crypto/api.c +++ b/crypto/api.c @@ -603,4 +603,3 @@ EXPORT_SYMBOL_GPL(crypto_req_done);
MODULE_DESCRIPTION("Cryptographic core API"); MODULE_LICENSE("GPL"); -MODULE_SOFTDEP("pre: cryptomgr");