[PATCH v3 0/4] riscv: entry: further clean up and VMAP_STACK fix

Jisheng Zhang
2022-10-03T10:39:02Z

I planed to do similar generic entry transaction as Guo Ren did[1], and
I had some commits in local. Since Guo has sent out the series, I
dropped my version and just provide those in my local repo but missing
in Guo's series. However, this doesn't mean this series depends on
Guo's series, in fact except the first one, the remaining three patches
are independent on generic entry.

Since v2:
- the patch of removing wrappers of trace_hardirqs_{on,off} is in
Guo's v6 generic entry series[2], so remove it.
- add a new patch to fix kernel info leakage.
- collect Acked-by tag.
- the GP saving and restoring macros range from x5 to x31 now per
Guo's suggestion.

Since v1:
- consolidate gp saving/restoring in mcount-dyn.S as well
- avoid non-trival memory waste if NR_CPUs is large
- collect Reviewed-by tag.

[1]https://lore.kernel.org/linux-riscv/20220918155246.1203293-1-guoren@kernel.org/T/#t
[2]https://lore.kernel.org/linux-riscv/20221002012451.2351127-1-guoren@kernel.org/T/#t

Jisheng Zhang (4):
riscv: process: fix kernel info leakage
riscv: consolidate ret_from_kernel_thread into ret_from_fork
riscv: fix race when vmap stack overflow and remove shadow_stack
riscv: entry: consolidate general regs saving/restoring

arch/riscv/include/asm/asm-prototypes.h | 1 -
arch/riscv/include/asm/asm.h | 63 ++++++++++
arch/riscv/include/asm/thread_info.h | 3 -
arch/riscv/kernel/asm-offsets.c | 1 +
arch/riscv/kernel/entry.S | 151 +++---------------------
arch/riscv/kernel/mcount-dyn.S | 56 +--------
arch/riscv/kernel/process.c | 7 +-
arch/riscv/kernel/traps.c | 32 ++---
8 files changed, 103 insertions(+), 211 deletions(-)

--
2.37.2