[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>
This commit is contained in:
parent
4b9c876a81
commit
94983cb788
|
@ -526,9 +526,7 @@ static void do_syscall_trace(void)
|
||||||
|
|
||||||
void do_syscall_trace_enter(struct pt_regs *regs)
|
void do_syscall_trace_enter(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PPC64
|
|
||||||
secure_computing(regs->gpr[0]);
|
secure_computing(regs->gpr[0]);
|
||||||
#endif
|
|
||||||
|
|
||||||
if (test_thread_flag(TIF_SYSCALL_TRACE)
|
if (test_thread_flag(TIF_SYSCALL_TRACE)
|
||||||
&& (current->ptrace & PT_PTRACED))
|
&& (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)
|
void do_syscall_trace_leave(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PPC32
|
|
||||||
secure_computing(regs->gpr[0]);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (unlikely(current->audit_context))
|
if (unlikely(current->audit_context))
|
||||||
audit_syscall_exit((regs->ccr&0x10000000)?AUDITSC_FAILURE:AUDITSC_SUCCESS,
|
audit_syscall_exit((regs->ccr&0x10000000)?AUDITSC_FAILURE:AUDITSC_SUCCESS,
|
||||||
regs->result);
|
regs->result);
|
||||||
|
@ -561,8 +555,3 @@ void do_syscall_trace_leave(struct pt_regs *regs)
|
||||||
&& (current->ptrace & PT_PTRACED))
|
&& (current->ptrace & PT_PTRACED))
|
||||||
do_syscall_trace();
|
do_syscall_trace();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PPC32
|
|
||||||
EXPORT_SYMBOL(do_syscall_trace_enter);
|
|
||||||
EXPORT_SYMBOL(do_syscall_trace_leave);
|
|
||||||
#endif
|
|
||||||
|
|
Loading…
Reference in New Issue