linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).