summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDavid Woodhouse2006-09-22 10:32:45 +0200
committerPaul Mackerras2006-09-26 07:24:34 +0200
commit94983cb7881dff760d724759105a6f67935b571d (patch)
treed288981c3aec3c5a0b976c4a3cfb6f10e95ab031 /arch
parent[POWERPC] Fix audit syscall success/failure reporting on PowerPC (diff)
downloadkernel-qcow2-linux-94983cb7881dff760d724759105a6f67935b571d.tar.gz
kernel-qcow2-linux-94983cb7881dff760d724759105a6f67935b571d.tar.xz
kernel-qcow2-linux-94983cb7881dff760d724759105a6f67935b571d.zip
[POWERPC] Fix PPC32 SECCOMP, unexport do_syscall_trace_{enter,leave}
The secure_computing() call which automatically aborts a process if it tries to execute a syscall it shouldn't is much more useful if we actually do it _before_ the syscall, rather than afterwards. PPC64 got this right, but the original incorrect behaviour inherited from arch/ppc was preserved by ifdefs. Make it the same on PPC32 too. Also, I see no need to export do_syscall_trace_{leave,enter} on ppc32 -- they were only exported because the old do_syscall_trace() (which they replaced) used to be. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/ptrace.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
index cf1d1bc49261..975102a020d9 100644
--- a/arch/powerpc/kernel/ptrace.c
+++ b/arch/powerpc/kernel/ptrace.c
@@ -526,9 +526,7 @@ static void do_syscall_trace(void)
void do_syscall_trace_enter(struct pt_regs *regs)
{
-#ifdef CONFIG_PPC64
secure_computing(regs->gpr[0]);
-#endif
if (test_thread_flag(TIF_SYSCALL_TRACE)
&& (current->ptrace & PT_PTRACED))
@@ -548,10 +546,6 @@ void do_syscall_trace_enter(struct pt_regs *regs)
void do_syscall_trace_leave(struct pt_regs *regs)
{
-#ifdef CONFIG_PPC32
- secure_computing(regs->gpr[0]);
-#endif
-
if (unlikely(current->audit_context))
audit_syscall_exit((regs->ccr&0x10000000)?AUDITSC_FAILURE:AUDITSC_SUCCESS,
regs->result);
@@ -561,8 +555,3 @@ void do_syscall_trace_leave(struct pt_regs *regs)
&& (current->ptrace & PT_PTRACED))
do_syscall_trace();
}
-
-#ifdef CONFIG_PPC32
-EXPORT_SYMBOL(do_syscall_trace_enter);
-EXPORT_SYMBOL(do_syscall_trace_leave);
-#endif