Bug report: cpu_relax call from vdso space

Atish Patra atishp at atishpatra.org
Mon Oct 17 10:54:28 PDT 2022


On Sat, Oct 15, 2022 at 12:09 AM Denis Ivanov <denis.ivanov at cloudbear.ru> wrote:
>
> Hello,
>
> Segmentation fault may be raised from cpu_relax()
> (arch/riscv/include/asm/vdso/processor.h).
>
> cpu_relax() may be called from vDSO functions (ex:
> __vdso_clock_gettime). This means that global 'riscv_isa_ext_keys'
> variable must not be used in cpu_relax() directly.
>
> Use of this array was added to cpu_relax() in
> https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git/commit/?h=fixes&id=8eb060e10185cfc97ef0200d197ec246ba0f9f8c
>

Thanks. We saw some other issues with the static key in cpu_relax path as well.

https://lore.kernel.org/linux-riscv/20220922060958.44203-1-samuel@sholland.org/

We may remove the static key altogether from that path.

> Denis Ivanov
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv



-- 
Regards,
Atish



More information about the linux-riscv mailing list