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

Commit 94983cb7 authored by David Woodhouse's avatar David Woodhouse Committed by Paul Mackerras
Browse files

[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: default avatarDavid Woodhouse <dwmw2@infradead.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 4b9c876a
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -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