lkml.org 
[lkml]   [2023]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v2] riscv: VMAP_STACK overflow detection thread-safe
On Thu, Jul 20, 2023 at 8:19 AM Sami Tolvanen <samitolvanen@google.com> wrote:
>
> Hi Deepak,
>
> On Thu, Nov 24, 2022 at 01:48:45AM -0800, Deepak Gupta wrote:
> > commit 31da94c25aea ("riscv: add VMAP_STACK overflow detection") added
> > support for CONFIG_VMAP_STACK. If overflow is detected, CPU switches to
> > `shadow_stack` temporarily before switching finally to per-cpu
> > `overflow_stack`.
> >
> > If two CPUs/harts are racing and end up in over flowing kernel stack, one
> > or both will end up corrupting each other state because `shadow_stack` is
> > not per-cpu. This patch optimizes per-cpu overflow stack switch by
> > directly picking per-cpu `overflow_stack` and gets rid of `shadow_stack`.
>
> Are you planning on resending this patch? I see it didn't gain much
> traction last time, but this looks like a much cleaner solution for
> selecting the overflow stack than having a `shadow_stack` and calling
> to C to compute the per-CPU offset. The asm_per_cpu macro also would
> come in handy when implementing CONFIG_SHADOW_CALL_STACK, which we'd
> like to have on RISC-V too.
I remember we ended up with an atomic lock mechanism instead of percpu
offset, so what's the benefit of percpu style in overflow_stack path?

>
> Sami



--
Best Regards
Guo Ren

\
 
 \ /
  Last update: 2023-07-20 17:06    [W:0.130 / U:0.312 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site