From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Guy Briggs Subject: Re: [PATCH 1/4] SH: define syscall_get_arch() for superh Date: Fri, 21 Mar 2014 14:59:16 -0400 Message-ID: <20140321185916.GC16467@madcap2.tricolour.ca> References: <1395266643-3139-1-git-send-email-eparis@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1395266643-3139-1-git-send-email-eparis@redhat.com> Sender: linux-sh-owner@vger.kernel.org To: Eric Paris Cc: linux-audit@redhat.com, linux-sh@vger.kernel.org List-Id: linux-audit@redhat.com On 14/03/19, Eric Paris wrote: > This patch defines syscall_get_arch() for the superh platform. It does > so in both syscall_32.h and syscall_64.h. I'm not certain if the > implementation in syscall_64.h couldn't just be used in syscall.h as I > can't really track the setting of CONFIG_64BIT... > > This way is safe, but we might be able to combine these if a superh > person were able to review... > > Signed-off-by: Eric Paris > Cc: linux-sh@vger.kernel.org Acked-by: Richard Guy Briggs (but prefer the syscall.h version) > --- > arch/sh/include/asm/syscall_32.h | 10 ++++++++++ > arch/sh/include/asm/syscall_64.h | 14 ++++++++++++++ > 2 files changed, 24 insertions(+) > > diff --git a/arch/sh/include/asm/syscall_32.h b/arch/sh/include/asm/syscall_32.h > index 7d80df4..460e9c6 100644 > --- a/arch/sh/include/asm/syscall_32.h > +++ b/arch/sh/include/asm/syscall_32.h > @@ -1,6 +1,7 @@ > #ifndef __ASM_SH_SYSCALL_32_H > #define __ASM_SH_SYSCALL_32_H > > +#include > #include > #include > #include > @@ -93,4 +94,13 @@ static inline void syscall_set_arguments(struct task_struct *task, > } > } > > +static inline int syscall_get_arch(void) > +{ > + int arch = EM_SH; > + > +#ifdef CONFIG_CPU_LITTLE_ENDIAN > + arch |= __AUDIT_ARCH_LE; > +#endif > + return arch; > +} > #endif /* __ASM_SH_SYSCALL_32_H */ > diff --git a/arch/sh/include/asm/syscall_64.h b/arch/sh/include/asm/syscall_64.h > index c3561ca..e03e77d 100644 > --- a/arch/sh/include/asm/syscall_64.h > +++ b/arch/sh/include/asm/syscall_64.h > @@ -1,6 +1,7 @@ > #ifndef __ASM_SH_SYSCALL_64_H > #define __ASM_SH_SYSCALL_64_H > > +#include > #include > #include > #include > @@ -61,4 +62,17 @@ static inline void syscall_set_arguments(struct task_struct *task, > memcpy(®s->regs[2 + i], args, n * sizeof(args[0])); > } > > +static inline int syscall_get_arch(void) > +{ > + int arch = EM_SH; > + > +#ifdef CONFIG_64BIT > + arch |= __AUDIT_ARCH_64BIT; > +#endif > +#ifdef CONFIG_CPU_LITTLE_ENDIAN > + arch |= __AUDIT_ARCH_LE; > +#endif > + > + return arch; > +} > #endif /* __ASM_SH_SYSCALL_64_H */ > -- > 1.8.5.3 > > -- > Linux-audit mailing list > Linux-audit@redhat.com > https://www.redhat.com/mailman/listinfo/linux-audit - RGB -- Richard Guy Briggs Senior Software Engineer, Kernel Security, AMER ENG Base Operating Systems, Red Hat Remote, Ottawa, Canada Voice: +1.647.777.2635, Internal: (81) 32635, Alt: +1.613.693.0684x3545