efd21e10fc
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.
Fixes:
|
||
---|---|---|
.. | ||
caamalg_desc.c | ||
caamalg_desc.h | ||
caamalg_qi2.c | ||
caamalg_qi2.h | ||
caamalg_qi.c | ||
caamalg.c | ||
caamhash_desc.c | ||
caamhash_desc.h | ||
caamhash.c | ||
caampkc.c | ||
caampkc.h | ||
caamrng.c | ||
compat.h | ||
ctrl.c | ||
ctrl.h | ||
debugfs.c | ||
debugfs.h | ||
desc_constr.h | ||
desc.h | ||
dpseci_cmd.h | ||
dpseci-debugfs.c | ||
dpseci-debugfs.h | ||
dpseci.c | ||
dpseci.h | ||
error.c | ||
error.h | ||
intern.h | ||
jr.c | ||
jr.h | ||
Kconfig | ||
key_gen.c | ||
key_gen.h | ||
Makefile | ||
pdb.h | ||
pkc_desc.c | ||
qi.c | ||
qi.h | ||
regs.h | ||
sg_sw_qm2.h | ||
sg_sw_qm.h | ||
sg_sw_sec4.h |