Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1226364

[PATCH 16/26] x86, pkeys: dump PKRU with other kernel registers

From Dave Hansen <dave@sr71.net>
Newsgroups linux.kernel
Subject [PATCH 16/26] x86, pkeys: dump PKRU with other kernel registers
Date 2015-09-16 20:10 +0200
Message-ID <q9pjA-3D9-21@gated-at.bofh.it> (permalink)
References <q9p0e-309-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


I'm a bit ambivalent about whether this is needed or not.

Protection Keys never affect kernel mappings.  But, they can
affect whether the kernel will fault when it touches a user
mapping.  But, the kernel doesn't touch user mappings without
some careful choreography and these accesses don't generally
result in oopses.

Should we dump out PKRU like this in our oopses?

---

 b/arch/x86/kernel/process_64.c |    2 ++
 1 file changed, 2 insertions(+)

diff -puN arch/x86/kernel/process_64.c~pkeys-30-kernel-error-dumps arch/x86/kernel/process_64.c
--- a/arch/x86/kernel/process_64.c~pkeys-30-kernel-error-dumps	2015-09-16 10:48:18.424290612 -0700
+++ b/arch/x86/kernel/process_64.c	2015-09-16 10:48:18.427290748 -0700
@@ -116,6 +116,8 @@ void __show_regs(struct pt_regs *regs, i
 	printk(KERN_DEFAULT "DR0: %016lx DR1: %016lx DR2: %016lx\n", d0, d1, d2);
 	printk(KERN_DEFAULT "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7);
 
+	if (boot_cpu_has(X86_FEATURE_OSPKE))
+		printk(KERN_DEFAULT "PKRU: %08x\n", read_pkru());
 }
 
 void release_thread(struct task_struct *dead_task)
_
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH 16/26] x86, pkeys: dump PKRU with other kernel registers Dave Hansen <dave@sr71.net> - 2015-09-16 20:10 +0200

csiph-web