mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 05:04:09 +08:00
7e1864332f
Currently, when detecting vmap stack overflow, riscv firstly switches
to the so called shadow stack, then use this shadow stack to call the
get_overflow_stack() to get the overflow stack. However, there's
a race here if two or more harts use the same shadow stack at the same
time.
To solve this race, we introduce spin_shadow_stack atomic var, which
will be swap between its own address and 0 in atomic way, when the
var is set, it means the shadow_stack is being used; when the var
is cleared, it means the shadow_stack isn't being used.
Fixes:
|
||
---|---|---|
.. | ||
boot | ||
configs | ||
errata | ||
include | ||
kernel | ||
lib | ||
mm | ||
net | ||
Kbuild | ||
Kconfig | ||
Kconfig.debug | ||
Kconfig.erratas | ||
Kconfig.socs | ||
Makefile |