summaryrefslogtreecommitdiff
path: root/arch/sparc
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2014-03-11 21:50:46 +0400
committerEric Paris <eparis@redhat.com>2014-09-24 00:20:10 +0400
commitce5d112827e5c2e9864323d0efd7ec2a62c6dce0 (patch)
tree65ef4096ef889dbfe47fc4c5c0735125d0718c0e /arch/sparc
parent0451623ad780a478b11c29736dae506e0059966a (diff)
downloadlinux-ce5d112827e5c2e9864323d0efd7ec2a62c6dce0.tar.xz
ARCH: AUDIT: implement syscall_get_arch for all arches
For all arches which support audit implement syscall_get_arch() They are all pretty easy and straight forward, stolen from how the call to audit_syscall_entry() determines the arch. Based-on-patch-by: Richard Briggs <rgb@redhat.com> Signed-off-by: Eric Paris <eparis@redhat.com> Cc: linux-ia64@vger.kernel.org Cc: microblaze-uclinux@itee.uq.edu.au Cc: linux-mips@linux-mips.org Cc: linux@lists.openrisc.net Cc: linux-parisc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: sparclinux@vger.kernel.org
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/include/asm/syscall.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/syscall.h b/arch/sparc/include/asm/syscall.h
index 025a02ad2e31..fed3d511b108 100644
--- a/arch/sparc/include/asm/syscall.h
+++ b/arch/sparc/include/asm/syscall.h
@@ -1,9 +1,11 @@
#ifndef __ASM_SPARC_SYSCALL_H
#define __ASM_SPARC_SYSCALL_H
+#include <uapi/linux/audit.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <asm/ptrace.h>
+#include <asm/thread_info.h>
/*
* The syscall table always contains 32 bit pointers since we know that the
@@ -124,4 +126,10 @@ static inline void syscall_set_arguments(struct task_struct *task,
regs->u_regs[UREG_I0 + i + j] = args[j];
}
+static inline int syscall_get_arch(void)
+{
+ return test_thread_flag(TIF_32BIT) ? AUDIT_ARCH_SPARC
+ : AUDIT_ARCH_SPARC64;
+}
+
#endif /* __ASM_SPARC_SYSCALL_H */