diff options
Diffstat (limited to 'arch/s390/kernel/ptrace.c')
| -rw-r--r-- | arch/s390/kernel/ptrace.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index f4eb37680b9..e4be113fbac 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c @@ -719,7 +719,11 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)  	long ret = 0;  	/* Do the secure computing check first. */ -	secure_computing_strict(regs->gprs[2]); +	if (secure_computing(regs->gprs[2])) { +		/* seccomp failures shouldn't expose any additional code. */ +		ret = -1; +		goto out; +	}  	/*  	 * The sysc_tracesys code in entry.S stored the system @@ -745,6 +749,7 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)  			    regs->gprs[2], regs->orig_gpr2,  			    regs->gprs[3], regs->gprs[4],  			    regs->gprs[5]); +out:  	return ret ?: regs->gprs[2];  }  |