diff options
author | Will Drewry <wad@chromium.org> | 2012-04-12 17:47:55 -0400 |
---|---|---|
committer | James Morris <james.l.morris@oracle.com> | 2012-04-13 21:13:19 -0400 |
commit | 07bd18d00d5dcf84eb22f8120f47f09c3d8fe27d (patch) | |
tree | ac0d755afdba978932ad530901acf1619431b266 /include/asm-generic/syscall.h | |
parent | 932ecebb0405b9a41cd18946e6cff8a17d434e23 (diff) |
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: Roland McGrath <mcgrathr@chromium.org>
Signed-off-by: Will Drewry <wad@chromium.org>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Acked-by: Eric Paris <eparis@redhat.com>
v18: comment and change reword and rebase.
v14: rebase/nochanges
v13: rebase on to 88ebdda6159ffc15699f204c33feb3e431bf9bdc
v12: rebase on to linux-next
v11: fixed improper return type
v10: introduced
Signed-off-by: James Morris <james.l.morris@oracle.com>
Diffstat (limited to 'include/asm-generic/syscall.h')
-rw-r--r-- | include/asm-generic/syscall.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/asm-generic/syscall.h b/include/asm-generic/syscall.h index 5c122ae6bfa6..5b09392db673 100644 --- a/include/asm-generic/syscall.h +++ b/include/asm-generic/syscall.h | |||
@@ -142,4 +142,18 @@ void syscall_set_arguments(struct task_struct *task, struct pt_regs *regs, | |||
142 | unsigned int i, unsigned int n, | 142 | unsigned int i, unsigned int n, |
143 | const unsigned long *args); | 143 | const unsigned long *args); |
144 | 144 | ||
145 | /** | ||
146 | * syscall_get_arch - return the AUDIT_ARCH for the current system call | ||
147 | * @task: task of interest, must be in system call entry tracing | ||
148 | * @regs: task_pt_regs() of @task | ||
149 | * | ||
150 | * Returns the AUDIT_ARCH_* based on the system call convention in use. | ||
151 | * | ||
152 | * It's only valid to call this when @task is stopped on entry to a system | ||
153 | * call, due to %TIF_SYSCALL_TRACE, %TIF_SYSCALL_AUDIT, or %TIF_SECCOMP. | ||
154 | * | ||
155 | * Architectures which permit CONFIG_HAVE_ARCH_SECCOMP_FILTER must | ||
156 | * provide an implementation of this. | ||
157 | */ | ||
158 | int syscall_get_arch(struct task_struct *task, struct pt_regs *regs); | ||
145 | #endif /* _ASM_SYSCALL_H */ | 159 | #endif /* _ASM_SYSCALL_H */ |