return ret;
}
+static inline int audit_arch(void)
+{
+ int arch = EM_SH;
+
+#ifdef CONFIG_CPU_LITTLE_ENDIAN
+ arch |= __AUDIT_ARCH_LE;
+#endif
+
+ return arch;
+}
+
asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
{
long ret = 0;
ret = -1L;
if (unlikely(current->audit_context))
- audit_syscall_entry(AUDIT_ARCH_SH, regs->regs[3],
+ audit_syscall_entry(audit_arch(), regs->regs[3],
regs->regs[4], regs->regs[5],
regs->regs[6], regs->regs[7]);
return sys_ptrace(request, pid, addr, data);
}
+static inline int audit_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;
+}
+
asmlinkage long long do_syscall_trace_enter(struct pt_regs *regs)
{
long long ret = 0;
ret = -1LL;
if (unlikely(current->audit_context))
- audit_syscall_entry(AUDIT_ARCH_SH, regs->regs[1],
+ audit_syscall_entry(audit_arch(), regs->regs[1],
regs->regs[2], regs->regs[3],
regs->regs[4], regs->regs[5]);