linux/drivers/crypto
Quanyang Wang 23bc89fdce crypto: xilinx - call finalize with bh disabled
[ Upstream commit a853450bf4 ]

When calling crypto_finalize_request, BH should be disabled to avoid
triggering the following calltrace:

    ------------[ cut here ]------------
    WARNING: CPU: 2 PID: 74 at crypto/crypto_engine.c:58 crypto_finalize_request+0xa0/0x118
    Modules linked in: cryptodev(O)
    CPU: 2 PID: 74 Comm: firmware:zynqmp Tainted: G           O       6.8.0-rc1-yocto-standard #323
    Hardware name: ZynqMP ZCU102 Rev1.0 (DT)
    pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    pc : crypto_finalize_request+0xa0/0x118
    lr : crypto_finalize_request+0x104/0x118
    sp : ffffffc085353ce0
    x29: ffffffc085353ce0 x28: 0000000000000000 x27: ffffff8808ea8688
    x26: ffffffc081715038 x25: 0000000000000000 x24: ffffff880100db00
    x23: ffffff880100da80 x22: 0000000000000000 x21: 0000000000000000
    x20: ffffff8805b14000 x19: ffffff880100da80 x18: 0000000000010450
    x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
    x14: 0000000000000003 x13: 0000000000000000 x12: ffffff880100dad0
    x11: 0000000000000000 x10: ffffffc0832dcd08 x9 : ffffffc0812416d8
    x8 : 00000000000001f4 x7 : ffffffc0830d2830 x6 : 0000000000000001
    x5 : ffffffc082091000 x4 : ffffffc082091658 x3 : 0000000000000000
    x2 : ffffffc7f9653000 x1 : 0000000000000000 x0 : ffffff8802d20000
    Call trace:
     crypto_finalize_request+0xa0/0x118
     crypto_finalize_aead_request+0x18/0x30
     zynqmp_handle_aes_req+0xcc/0x388
     crypto_pump_work+0x168/0x2d8
     kthread_worker_fn+0xfc/0x3a0
     kthread+0x118/0x138
     ret_from_fork+0x10/0x20
    irq event stamp: 40
    hardirqs last  enabled at (39): [<ffffffc0812416f8>] _raw_spin_unlock_irqrestore+0x70/0xb0
    hardirqs last disabled at (40): [<ffffffc08122d208>] el1_dbg+0x28/0x90
    softirqs last  enabled at (36): [<ffffffc080017dec>] kernel_neon_begin+0x8c/0xf0
    softirqs last disabled at (34): [<ffffffc080017dc0>] kernel_neon_begin+0x60/0xf0
    ---[ end trace 0000000000000000 ]---

Fixes: 4d96f7d481 ("crypto: xilinx - Add Xilinx AES driver")
Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-03-26 18:19:46 -04:00
..
allwinner crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
amcc crypto: crypto4xx - remove unnecessary (void*) conversions 2023-03-24 18:22:28 +08:00
amlogic crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
aspeed crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
axis crypto: artpec6 - Use request_complete helpers 2023-02-13 18:34:49 +08:00
bcm crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
caam crypto: caam/jr - fix Chacha20 + Poly1305 self test failure 2023-11-20 11:59:19 +01:00
cavium crypto: cavium/nitrox - remove unnecessary aer.h include 2023-03-17 11:16:43 +08:00
ccp crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked 2024-02-23 09:25:11 +01:00
ccree crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
chelsio crypto: chelsio - Remove unused declarations 2023-08-25 18:46:55 +08:00
gemini crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
hisilicon crypto: hisilicon/zip - save capability registers in probe process 2024-01-25 15:35:17 -08:00
inside-secure crypto: safexcel - Add error handling for dma_map_sg() calls 2024-01-25 15:35:16 -08:00
intel crypto: qat - fix double free during reset 2024-01-10 17:16:55 +01:00
marvell crypto: octeontx2 - Fix cptvf driver cleanup 2024-02-05 20:14:16 +00:00
nx crypto: nx - fix build warnings when DEBUG_FS is not enabled 2023-05-24 18:12:33 +08:00
qce crypto: qce - Add a QCE IP family compatible 'qcom,qce' 2023-03-14 17:06:44 +08:00
rockchip crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
starfive crypto: starfive - Fix dev_err_probe return error 2024-02-05 20:14:16 +00:00
stm32 crypto: stm32/crc32 - fix parsing list of devices 2024-02-05 20:14:16 +00:00
virtio crypto: virtio/akcipher - Fix stack overflow on memcpy 2024-03-01 13:35:01 +01:00
vmx Merge branch 'topic/objtool' into next 2022-12-08 23:57:47 +11:00
xilinx crypto: xilinx - call finalize with bh disabled 2024-03-26 18:19:46 -04:00
atmel-aes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-aes.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
atmel-authenc.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
atmel-ecc.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
atmel-i2c.c This update includes the following changes: 2023-02-21 18:10:50 -08:00
atmel-i2c.h This update includes the following changes: 2023-02-21 18:10:50 -08:00
atmel-sha-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-sha.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
atmel-sha204a.c crypto: atmel - Switch i2c drivers back to use .probe() 2023-06-02 18:21:32 +08:00
atmel-tdes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-tdes.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
exynos-rng.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
geode-aes.c crypto: geode - use DEFINE_SPINLOCK() for spinlock 2021-04-16 21:16:31 +10:00
geode-aes.h crypto: geode-aes - convert to skcipher API and make thread-safe 2019-10-23 19:46:56 +11:00
hifn_795x.c crypto: drivers - remove unnecessary (void*) conversions 2023-03-24 18:22:28 +08:00
img-hash.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
Kconfig s390/zcrypt: remove CEX2 and CEX3 device drivers 2023-07-24 12:12:22 +02:00
Makefile crypto: starfive - Add crypto engine support 2023-05-19 16:46:22 +08:00
mxs-dcp.c crypto: mxs-dcp - Use the devm_clk_get_optional_enabled() helper 2023-03-31 17:50:09 +08:00
n2_asm.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
n2_core.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
n2_core.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap-aes-gcm.c crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-aes.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
omap-aes.h crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-crypto.c crypto: omap - Avoid redundant copy when using truncated sg list 2021-08-21 15:44:53 +08:00
omap-crypto.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
omap-des.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
omap-sham.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
padlock-aes.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
padlock-sha.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
qcom-rng.c crypto: qcom-rng: Make the core clock optional regardless of ACPI presence 2023-08-18 17:01:09 +08:00
s5p-sss.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
sa2ul.c crypto: sa2ul - Return crypto_aead_setkey to transfer the error 2024-01-25 15:35:16 -08:00
sa2ul.h crypto: sa2ul - change unsafe data size limit to 255 bytes 2023-05-19 16:45:43 +08:00
sahara.c crypto: sahara - do not resize req->src when doing hash operations 2024-01-25 15:35:18 -08:00
talitos.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
talitos.h crypto: talitos - Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper 2022-10-21 19:05:24 +08:00