[PATCH] riscv: cacheinfo: Fix using smp_processor_id() in preemptible

Kefeng Wang wangkefeng.wang at huawei.com
Fri Dec 18 03:24:40 EST 2020


On 2020/12/18 16:14, Atish Patra wrote:
> On Mon, Nov 16, 2020 at 12:08 AM Kefeng Wang <wangkefeng.wang at huawei.com> wrote:
>> Use raw_smp_processor_id instead of smp_processor_id() to fix warning,
>>
>> BUG: using smp_processor_id() in preemptible [00000000] code: init/1
>> caller is debug_smp_processor_id+0x1c/0x26
>> CPU: 0 PID: 1 Comm: init Not tainted 5.10.0-rc4 #211
>> Call Trace:
>>    walk_stackframe+0x0/0xaa
>>    show_stack+0x32/0x3e
>>    dump_stack+0x76/0x90
>>    check_preemption_disabled+0xaa/0xac
>>    debug_smp_processor_id+0x1c/0x26
>>    get_cache_size+0x18/0x68
>>    load_elf_binary+0x868/0xece
>>    bprm_execve+0x224/0x498
>>    kernel_execve+0xdc/0x142
>>    run_init_process+0x90/0x9e
>>    try_to_run_init_process+0x12/0x3c
>>    kernel_init+0xb4/0xf8
>>    ret_from_exception+0x0/0xc
>>
>> Signed-off-by: Kefeng Wang <wangkefeng.wang at huawei.com>
>> ---
>>   arch/riscv/kernel/cacheinfo.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/riscv/kernel/cacheinfo.c b/arch/riscv/kernel/cacheinfo.c
>> index de59dd457b41..9b5a8a347434 100644
>> --- a/arch/riscv/kernel/cacheinfo.c
>> +++ b/arch/riscv/kernel/cacheinfo.c
>> @@ -26,7 +26,7 @@ cache_get_priv_group(struct cacheinfo *this_leaf)
>>
>>   static struct cacheinfo *get_cacheinfo(u32 level, enum cache_type type)
>>   {
>> -       struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(smp_processor_id());
>> +       struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(raw_smp_processor_id());
>>          struct cacheinfo *this_leaf;
>>          int index;
>>
>> --
>> 2.26.2
>>
>>
>> _______________________________________________
>> linux-riscv mailing list
>> linux-riscv at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-riscv
> Reviewed-by: Atish Patra <atish.patra at wdc.com>
>
> As this issue is only reproducible with CONFIG_PREEMPT, the commit
> text can be updated to specify that. I have tested this patch with
> Qemu as well. FWIW,
>
> Tested-by: Atish Patra <atish.patra at wdc.com>

Thanks Atish, will send v2.


>
>



More information about the linux-riscv mailing list