signal/ptrace: Add force_sig_ptrace_errno_trap and use it where needed
commitf71dd7dc2dc989dc712b246a74d243e4b2c5f8a7
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 22 Jan 2018 20:37:25 +0000 (22 14:37 -0600)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 23 Jan 2018 01:07:11 +0000 (22 19:07 -0600)
treec126cf571c0a25c540210fa7bfe8f03b19d0c2a4
parent47355040d2760566901057287b35d5f10e217e12
signal/ptrace: Add force_sig_ptrace_errno_trap and use it where needed

There are so many places that build struct siginfo by hand that at
least one of them is bound to get it wrong.  A handful of cases in the
kernel arguably did just that when using the errno field of siginfo to
pass no errno values to userspace.  The usage is limited to a single
si_code so at least does not mess up anything else.

Encapsulate this questionable pattern in a helper function so
that the userspace ABI is preserved.

Update all of the places that use this pattern to use the new helper
function.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
arch/arm/kernel/ptrace.c
arch/arm64/kernel/ptrace.c
arch/powerpc/kernel/process.c
arch/xtensa/kernel/ptrace.c
include/linux/sched/signal.h
kernel/signal.c