Message ID | 1395266643-3139-1-git-send-email-eparis@redhat.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Paul Mundt |
Headers | show |
On Thu, 2014-03-20 at 03:01 +0300, Sergei Shtylyov wrote: > Hello. > > On 03/20/2014 01:04 AM, 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 <eparis@redhat.com> > > Cc: linux-sh@vger.kernel.org > > --- > > 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 > [...] > > @@ -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; > > Er, why the indentation jumped to the right suddenly? Bad copy and pasting, will fix. But I'd love to be able to just use the 64bit version in syscall.h and not need 2 copies... -Eric -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello. On 03/20/2014 01:04 AM, 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 <eparis@redhat.com> > Cc: linux-sh@vger.kernel.org > --- > 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 [...] > @@ -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; Er, why the indentation jumped to the right suddenly? > +#endif > + return arch; > +} > #endif /* __ASM_SH_SYSCALL_32_H */ WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 <eparis@redhat.com> > Cc: linux-sh@vger.kernel.org Acked-by: Richard Guy Briggs <rgb@redhat.com> (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 > Linux-audit@redhat.com > https://www.redhat.com/mailman/listinfo/linux-audit - RGB -- Richard Guy Briggs <rbriggs@redhat.com> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 */
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 <eparis@redhat.com> Cc: linux-sh@vger.kernel.org --- arch/sh/include/asm/syscall_32.h | 10 ++++++++++ arch/sh/include/asm/syscall_64.h | 14 ++++++++++++++ 2 files changed, 24 insertions(+)