lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 18 May 2020 13:14:41 +0100 From: Mark Rutland <mark.rutland@....com> To: Will Deacon <will@...nel.org> Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, Sami Tolvanen <samitolvanen@...gle.com>, Kees Cook <keescook@...omium.org>, Catalin Marinas <catalin.marinas@....com>, Mark Rutland <mark.rutland@...com>, Jann Horn <jannh@...gle.com>, Ard Biesheuvel <ardb@...nel.org>, Peter Zijlstra <peterz@...radead.org>, kernel-team@...roid.com 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@...nel.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 >
Powered by blists - more mailing lists