Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07bd18d0 authored by Will Drewry's avatar Will Drewry Committed by James Morris
Browse files

asm/syscall.h: add syscall_get_arch



Adds a stub for a function that will return the AUDIT_ARCH_* value
appropriate to the supplied task based on the system call convention.

For audit's use, the value can generally be hard-coded at the
audit-site.  However, for other functionality not inlined into syscall
entry/exit, this makes that information available.  seccomp_filter is
the first planned consumer and, as such, the comment indicates a tie to
CONFIG_HAVE_ARCH_SECCOMP_FILTER.

Suggested-by: default avatarRoland McGrath <mcgrathr@chromium.org>
Signed-off-by: default avatarWill Drewry <wad@chromium.org>
Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
Acked-by: default avatarEric Paris <eparis@redhat.com>

v18: comment and change reword and rebase.
v14: rebase/nochanges
v13: rebase on to 88ebdda6
v12: rebase on to linux-next
v11: fixed improper return type
v10: introduced
Signed-off-by: default avatarJames Morris <james.l.morris@oracle.com>
parent 932ecebb
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -142,4 +142,18 @@ void syscall_set_arguments(struct task_struct *task, struct pt_regs *regs,
			   unsigned int i, unsigned int n,
			   const unsigned long *args);

/**
 * syscall_get_arch - return the AUDIT_ARCH for the current system call
 * @task:	task of interest, must be in system call entry tracing
 * @regs:	task_pt_regs() of @task
 *
 * Returns the AUDIT_ARCH_* based on the system call convention in use.
 *
 * It's only valid to call this when @task is stopped on entry to a system
 * call, due to %TIF_SYSCALL_TRACE, %TIF_SYSCALL_AUDIT, or %TIF_SECCOMP.
 *
 * Architectures which permit CONFIG_HAVE_ARCH_SECCOMP_FILTER must
 * provide an implementation of this.
 */
int syscall_get_arch(struct task_struct *task, struct pt_regs *regs);
#endif	/* _ASM_SYSCALL_H */