linux-sg2042/arch/powerpc
Cyril Bur d11994314b powerpc: signals: Stop using current in signal code
Much of the signal code takes a pt_regs on which it operates. Over
time the signal code has needed to know more about the thread than
what pt_regs can supply, this information is obtained as needed by
using 'current'.

This approach is not strictly incorrect however it does mean that
there is now a hard requirement that the pt_regs being passed around
does belong to current, this is never checked. A safer approach is for
the majority of the signal functions to take a task_struct from which
they can obtain pt_regs and any other information they need. The
caveat that the task_struct they are passed must be current doesn't go
away but can more easily be checked for.

Functions called from outside powerpc signal code are passed a pt_regs
and they can confirm that the pt_regs is that of current and pass
current to other functions, furthurmore, powerpc signal functions can
check that the task_struct they are passed is the same as current
avoiding possible corruption of current (or the task they are passed)
if this assertion ever fails.

CC: paulus@samba.org
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-10-04 16:43:07 +11:00
..
boot powerpc/boot: Add support for XZ compression 2016-09-28 14:35:14 +10:00
configs powerpc/configs: Enable Intel i40e on 64 bit configs 2016-10-04 16:10:56 +11:00
crypto crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading 2016-08-09 14:50:17 +10:00
include powerpc: signals: Stop using current in signal code 2016-10-04 16:43:07 +11:00
kernel powerpc: signals: Stop using current in signal code 2016-10-04 16:43:07 +11:00
kvm powerpc: move hmi.c to arch/powerpc/kvm/ 2016-08-22 11:09:33 +10:00
lib powerpc/64: Align hot loops of memset() and backwards_memcpy() 2016-10-04 16:08:19 +11:00
math-emu
mm KVM: PPC: Book3S HV: Migrate pinned pages out of CMA 2016-09-29 15:14:44 +10:00
net powerpc/ebpf/jit: Implement JIT compiler for extended BPF 2016-06-24 15:17:57 +10:00
oprofile powerpc/sparse: Make a bunch of things static 2016-09-13 17:35:47 +10:00
perf powerpc/sparse: Make a bunch of things static 2016-09-13 17:35:47 +10:00
platforms powerpc/powernv: Fix data type for @r in pnv_ioda_parse_m64_window() 2016-10-04 16:30:28 +11:00
scripts powerpc/ftrace: Add Kconfig & Make glue for mprofile-kernel 2016-03-07 14:53:56 +11:00
sysdev powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
xmon powerpc/xmon: Don't use ld on 32-bit 2016-09-13 17:37:02 +10:00
Kconfig powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian 2016-10-04 16:15:00 +11:00
Kconfig.debug powerpc/mm: Catch usage of cpu/mmu_has_feature() before jump label init 2016-08-01 11:15:06 +10:00
Makefile powerpc/Makefile: Construct the UTS_MACHINE value more concisely 2016-09-13 17:37:06 +10:00
relocs_check.sh powerpc: Convert relocs_check to a shell script using grep 2015-03-23 14:47:39 +11:00