summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/traps.c
diff options
context:
space:
mode:
authorThiago Jung Bauermann <bauerman@linux.vnet.ibm.com>2018-01-18 17:50:43 -0800
committerMichael Ellerman <mpe@ellerman.id.au>2018-01-20 22:59:06 +1100
commitc5cc1f4df6b16646f8fae7aab523c1820bf916e8 (patch)
tree83164522643b8dc08f2825b3c7643f88cc74f0b5 /arch/powerpc/kernel/traps.c
parent99cd1302327a2ccaedf905e9f6a8d8fd234bd485 (diff)
downloadlinux-c5cc1f4df6b16646f8fae7aab523c1820bf916e8.tar.bz2
powerpc/ptrace: Add memory protection key regset
The AMR/IAMR/UAMOR are part of the program context. Allow it to be accessed via ptrace and through core files. Signed-off-by: Ram Pai <linuxram@us.ibm.com> Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/traps.c')
-rw-r--r--arch/powerpc/kernel/traps.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 4b1a8e2ec023..122a3c883f4e 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -292,6 +292,13 @@ void _exception_pkey(int signr, struct pt_regs *regs, int code,
local_irq_enable();
current->thread.trap_nr = code;
+
+ /*
+ * Save all the pkey registers AMR/IAMR/UAMOR. Eg: Core dumps need
+ * to capture the content, if the task gets killed.
+ */
+ thread_pkey_regs_save(&current->thread);
+
memset(&info, 0, sizeof(info));
info.si_signo = signr;
info.si_code = code;