|
@@ -16,6 +16,8 @@
|
|
|
#ifndef __ASM_SYSCALL_H
|
|
|
#define __ASM_SYSCALL_H
|
|
|
|
|
|
+#include <uapi/linux/audit.h>
|
|
|
+#include <linux/compat.h>
|
|
|
#include <linux/err.h>
|
|
|
|
|
|
extern const void *sys_call_table[];
|
|
@@ -105,4 +107,16 @@ static inline void syscall_set_arguments(struct task_struct *task,
|
|
|
memcpy(®s->regs[i], args, n * sizeof(args[0]));
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * We don't care about endianness (__AUDIT_ARCH_LE bit) here because
|
|
|
+ * AArch64 has the same system calls both on little- and big- endian.
|
|
|
+ */
|
|
|
+static inline int syscall_get_arch(void)
|
|
|
+{
|
|
|
+ if (is_compat_task())
|
|
|
+ return AUDIT_ARCH_ARM;
|
|
|
+
|
|
|
+ return AUDIT_ARCH_AARCH64;
|
|
|
+}
|
|
|
+
|
|
|
#endif /* __ASM_SYSCALL_H */
|