* [PATCH] crypto: xilinx: call finalize with bh disabled
@ 2024-01-28 4:29 quanyang.wang
2024-02-09 5:00 ` Herbert Xu
0 siblings, 1 reply; 2+ messages in thread
From: quanyang.wang @ 2024-01-28 4:29 UTC (permalink / raw)
To: Herbert Xu, David S . Miller, Michal Simek
Cc: Rob Herring, Uwe Kleine-König, linux-crypto,
linux-arm-kernel, linux-kernel, Quanyang Wang
From: Quanyang Wang <quanyang.wang@windriver.com>
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 ]---
Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
---
drivers/crypto/xilinx/zynqmp-aes-gcm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/crypto/xilinx/zynqmp-aes-gcm.c b/drivers/crypto/xilinx/zynqmp-aes-gcm.c
index 3c205324b22b6..e614057188409 100644
--- a/drivers/crypto/xilinx/zynqmp-aes-gcm.c
+++ b/drivers/crypto/xilinx/zynqmp-aes-gcm.c
@@ -231,7 +231,10 @@ static int zynqmp_handle_aes_req(struct crypto_engine *engine,
err = zynqmp_aes_aead_cipher(areq);
}
+ local_bh_disable();
crypto_finalize_aead_request(engine, areq, err);
+ local_bh_enable();
+
return 0;
}
--
2.36.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] crypto: xilinx: call finalize with bh disabled
2024-01-28 4:29 [PATCH] crypto: xilinx: call finalize with bh disabled quanyang.wang
@ 2024-02-09 5:00 ` Herbert Xu
0 siblings, 0 replies; 2+ messages in thread
From: Herbert Xu @ 2024-02-09 5:00 UTC (permalink / raw)
To: quanyang.wang
Cc: David S . Miller, Michal Simek, Rob Herring,
Uwe Kleine-König, linux-crypto, linux-arm-kernel,
linux-kernel
On Sun, Jan 28, 2024 at 12:29:06PM +0800, quanyang.wang@windriver.com wrote:
> From: Quanyang Wang <quanyang.wang@windriver.com>
>
> 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 ]---
>
> Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
> ---
> drivers/crypto/xilinx/zynqmp-aes-gcm.c | 3 +++
> 1 file changed, 3 insertions(+)
Patch applied. Thanks.
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-02-09 5:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-28 4:29 [PATCH] crypto: xilinx: call finalize with bh disabled quanyang.wang
2024-02-09 5:00 ` Herbert Xu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).