Messages in this thread Patch in this message | | | Date | Mon, 18 May 2020 13:14:41 +0100 | From | Mark Rutland <> | Subject | Re: [PATCH 6/6] scs: Move DEFINE_SCS macro into core code |
| |
On Fri, May 15, 2020 at 06:27:56PM +0100, Will Deacon wrote: > Defining static shadow call stacks is not architecture-specific, so move > the DEFINE_SCS() macro into the core header file. > > Signed-off-by: Will Deacon <will@kernel.org>
I think that we'll have to pull this back into arch code if/when we deal with VMAP'd stacks, so I'm not sure this is worthwhile given the diffstat is balanced.
Mark.
> --- > arch/arm64/kernel/scs.c | 4 ---- > include/linux/scs.h | 4 ++++ > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/kernel/scs.c b/arch/arm64/kernel/scs.c > index 955875dff9e1..e8f7ff45dd8f 100644 > --- a/arch/arm64/kernel/scs.c > +++ b/arch/arm64/kernel/scs.c > @@ -8,10 +8,6 @@ > #include <linux/percpu.h> > #include <linux/scs.h> > > -/* Allocate a static per-CPU shadow stack */ > -#define DEFINE_SCS(name) \ > - DEFINE_PER_CPU(unsigned long [SCS_SIZE/sizeof(long)], name) \ > - > DEFINE_SCS(irq_shadow_call_stack); > > #ifdef CONFIG_ARM_SDE_INTERFACE > diff --git a/include/linux/scs.h b/include/linux/scs.h > index 2fd3df50e93e..6dec390cf154 100644 > --- a/include/linux/scs.h > +++ b/include/linux/scs.h > @@ -26,6 +26,10 @@ > /* An illegal pointer value to mark the end of the shadow stack. */ > #define SCS_END_MAGIC (0x5f6UL + POISON_POINTER_DELTA) > > +/* Allocate a static per-CPU shadow stack */ > +#define DEFINE_SCS(name) \ > + DEFINE_PER_CPU(unsigned long [SCS_SIZE/sizeof(long)], name) \ > + > #define task_scs(tsk) (task_thread_info(tsk)->scs_base) > #define task_scs_sp(tsk) (task_thread_info(tsk)->scs_sp) > > -- > 2.26.2.761.g0e0b3e54be-goog >
| |