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 <[email protected]> > Cc: [email protected]
Acked-by: Richard Guy Briggs <[email protected]> (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 <uapi/linux/audit.h> > #include <linux/kernel.h> > #include <linux/sched.h> > #include <linux/err.h> > @@ -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 <uapi/linux/audit.h> > #include <linux/kernel.h> > #include <linux/sched.h> > #include <asm/ptrace.h> > @@ -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 > [email protected] > https://www.redhat.com/mailman/listinfo/linux-audit - RGB -- Richard Guy Briggs <[email protected]> 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 -- Linux-audit mailing list [email protected] https://www.redhat.com/mailman/listinfo/linux-audit
