summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/compat.h
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2015-07-23 12:21:08 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2015-07-29 03:56:13 +0200
commit1b60bab04e03d7ed74826dc20fda9d907d011313 (patch)
treedacaed6404c55fa6bb0f42986744c72845d0e13a /arch/powerpc/include/asm/compat.h
parentpowerpc: Change syscall_get_nr() to return int (diff)
downloadlinux-1b60bab04e03d7ed74826dc20fda9d907d011313.tar.xz
linux-1b60bab04e03d7ed74826dc20fda9d907d011313.zip
powerpc/kernel: Add SIG_SYS support for compat tasks
SIG_SYS was added in commit a0727e8ce513 "signal, x86: add SIGSYS info and make it synchronous." Because we use the asm-generic struct siginfo, we got support for SIG_SYS for free as part of that commit. However there was no compat handling added for powerpc. That means we've been advertising the existence of signfo._sifields._sigsys to compat tasks, but not actually filling in the fields correctly. Luckily it looks like no one has noticed, presumably because the only user of SIGSYS in the kernel is seccomp filter, which we don't support yet. So before we enable seccomp filter, add compat handling for SIGSYS. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Reviewed-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'arch/powerpc/include/asm/compat.h')
-rw-r--r--arch/powerpc/include/asm/compat.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/compat.h b/arch/powerpc/include/asm/compat.h
index b142b8e0ed9e..4f2df589ec1d 100644
--- a/arch/powerpc/include/asm/compat.h
+++ b/arch/powerpc/include/asm/compat.h
@@ -174,6 +174,13 @@ typedef struct compat_siginfo {
int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
int _fd;
} _sigpoll;
+
+ /* SIGSYS */
+ struct {
+ unsigned int _call_addr; /* calling insn */
+ int _syscall; /* triggering system call number */
+ unsigned int _arch; /* AUDIT_ARCH_* of syscall */
+ } _sigsys;
} _sifields;
} compat_siginfo_t;