driver: crypto: caam: replace this_cpu_ptr with raw_cpu_ptr
PATCH v2 1/1 driver: crypto: caam: replace this_cpu_ptr with raw_cpu_ptr
When enable the kernel debug config, there is below calltrace detected:
BUG: using smp_processor_id() in preemptible [00000000] code: cryptomgr_test/339 caller is debug_smp_processor_id+0x20/0x30 CPU: 9 PID: 339 Comm: cryptomgr_test Not tainted 5.10.63-yocto-standard #1 Hardware name: NXP Layerscape LX2160ARDB (DT) Call trace: dump_backtrace+0x0/0x1a0 show_stack+0x24/0x30 dump_stack+0xf0/0x13c check_preemption_disabled+0x100/0x110 debug_smp_processor_id+0x20/0x30 dpaa2_caam_enqueue+0x10c/0x25c ...... cryptomgr_test+0x38/0x60 kthread+0x158/0x164 ret_from_fork+0x10/0x38
According to the comment in commit ac5d15b4519f("crypto: caam/qi2
- use affine DPIOs "), because preemption is no longer disabled
while trying to enqueue an FQID, it might be possible to run the enqueue on a different CPU(due to migration, when in process context), however this wouldn't be a functionality issue. But there will be above calltrace when enable kernel debug config. So, replace this_cpu_ptr with raw_cpu_ptr to avoid above call trace.
---
v2:
Add comment to describe why the raw_cpu_ptr is safe.
drivers/crypto/caam/caamalg_qi2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/crypto/caam/caamalg_qi2.c +1 -1
@@ -5470,7 +5470,7 @@ int dpaa2_caam_enqueue(struct device *dev, struct caam_request *req)dpaa2_fd_set_len (&fd,dpaa2_fl_get_len (&req->fd_flt[1 ]));dpaa2_fd_set_flc (&fd, req->flc_dma); - ppriv =this_cpu_ptr (priv->ppriv); + ppriv =raw_cpu_ptr (priv->ppriv);for (i =0 ; i < (priv->dpseci_attr.num_tx_queues <<1 ); i++) { err =dpaa2_io_service_enqueue_fq (ppriv->dpio, ppriv->req_fqid, &fd);
Signature · 1 line
2.17.1
Is there any comments about this patch?
Thanks,
Limeng
Quoted 61 lines
-----Original Message-----
From: Li, Meng <[email protected]>
Sent: Monday, November 1, 2021 11:14 AM
To: [email protected]; [email protected]; [email protected]; [email protected]
Cc: [email protected]; [email protected]; Li, Meng <[email protected]>
Subject: [PATCH v2] driver: crypto: caam: replacethis_cpu_ptrwithraw_cpu_ptrWhen enable the kernel debug config, there is below calltrace detected:
BUG: using smp_processor_id() in preemptible [00000000] code: cryptomgr_test/339 caller is debug_smp_processor_id+0x20/0x30 CPU: 9 PID: 339 Comm: cryptomgr_test Not tainted 5.10.63-yocto-standard #1 Hardware name: NXP Layerscape LX2160ARDB (DT) Call trace: dump_backtrace+0x0/0x1a0 show_stack+0x24/0x30 dump_stack+0xf0/0x13c check_preemption_disabled+0x100/0x110 debug_smp_processor_id+0x20/0x30 dpaa2_caam_enqueue+0x10c/0x25c ...... cryptomgr_test+0x38/0x60 kthread+0x158/0x164 ret_from_fork+0x10/0x38According to the comment in commit ac5d15b4519f("crypto: caam/qi2
- use affine DPIOs "), because preemption is no longer disabled while trying
to enqueue an FQID, it might be possible to run the enqueue on a differentCPU(due to migration, when in process context), however this wouldn't be a functionality issue. But there will be above calltrace when enable kernel debug config. So, replacethis_cpu_ptrwithraw_cpu_ptrto avoid above call trace.Fixes ac5d15b4519f ("crypto: caam/qi2 - use affine DPIOs")Signed-off-by Meng Li <[email protected]>---
v2:Add comment to describe why the
raw_cpu_ptris safe.drivers/crypto/caam/caamalg_qi2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/crypto/caam/caamalg_qi2.c +1
-1@@ -5470,7 +5470,7 @@ int dpaa2_caam_enqueue(struct device *dev, struct caam_request *req) dpaa2_fd_set_len(&fd, dpaa2_fl_get_len(&req->fd_flt[1]));dpaa2_fd_set_flc (&fd, req->flc_dma); - ppriv =this_cpu_ptr (priv->ppriv); + ppriv =raw_cpu_ptr (priv->ppriv);for (i =0 ; i < (priv->dpseci_attr.num_tx_queues <<1 ); i++) { err = dpaa2_io_service_enqueue_fq(ppriv->dpio, ppriv-Quoted 1 line
req_fqid,&fd);
--
2.17.1
Quoted 24 lines · Meng Li
When enable the kernel debug config, there is below calltrace detected:
BUG: using smp_processor_id() in preemptible [00000000] code: cryptomgr_test/339 caller is debug_smp_processor_id+0x20/0x30 CPU: 9 PID: 339 Comm: cryptomgr_test Not tainted 5.10.63-yocto-standard #1 Hardware name: NXP Layerscape LX2160ARDB (DT) Call trace: dump_backtrace+0x0/0x1a0 show_stack+0x24/0x30 dump_stack+0xf0/0x13c check_preemption_disabled+0x100/0x110 debug_smp_processor_id+0x20/0x30 dpaa2_caam_enqueue+0x10c/0x25c ...... cryptomgr_test+0x38/0x60 kthread+0x158/0x164 ret_from_fork+0x10/0x38According to the comment in commit ac5d15b4519f("crypto: caam/qi2
- use affine DPIOs "), because preemption is no longer disabled
while trying to enqueue an FQID, it might be possible to run the enqueue on a differentCPU(due to migration, when in process context), however this wouldn't be a functionality issue. But there will be above calltrace when enable kernel debug config. So, replacethis_cpu_ptrwithraw_cpu_ptrto avoid above call trace.
Quoted 3 lines
Fixes ac5d15b4519f ("crypto: caam/qi2 - use affine DPIOs")Signed-off-by Meng Li <[email protected]>
Thanks,
Horia
Herbert Xu
maintainerQuoted 27 lines · Meng Li
When enable the kernel debug config, there is below calltrace detected:
BUG: using smp_processor_id() in preemptible [00000000] code: cryptomgr_test/339 caller is debug_smp_processor_id+0x20/0x30 CPU: 9 PID: 339 Comm: cryptomgr_test Not tainted 5.10.63-yocto-standard #1 Hardware name: NXP Layerscape LX2160ARDB (DT) Call trace: dump_backtrace+0x0/0x1a0 show_stack+0x24/0x30 dump_stack+0xf0/0x13c check_preemption_disabled+0x100/0x110 debug_smp_processor_id+0x20/0x30 dpaa2_caam_enqueue+0x10c/0x25c ...... cryptomgr_test+0x38/0x60 kthread+0x158/0x164 ret_from_fork+0x10/0x38According to the comment in commit ac5d15b4519f("crypto: caam/qi2
- use affine DPIOs "), because preemption is no longer disabled
while trying to enqueue an FQID, it might be possible to run the enqueue on a differentCPU(due to migration, when in process context), however this wouldn't be a functionality issue. But there will be above calltrace when enable kernel debug config. So, replacethis_cpu_ptrwithraw_cpu_ptrto avoid above call trace.Fixes ac5d15b4519f ("crypto: caam/qi2 - use affine DPIOs")Signed-off-by Meng Li <[email protected]>
Quoted 6 lines
---
v2:Add comment to describe why the
raw_cpu_ptris safe.drivers/crypto/caam/caamalg_qi2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Patch applied. Thanks.
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt