Skip to contentSkip to conversation

x86, pkeys: fix mismerge of protection keys CPUID bits

PATCH New Dave Hansen 2 participants 2 messages Mar 10, 2016 – Mar 12, 2016 x86

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86, pkeys: fix mismerge of protection keys CPUID bits

From: Dave Hansen <[email protected]>

Kirill Shutemov pointed this out to me.

The tip tree currently has commit:

dfb4a70f2 [x86/cpufeature, x86/mm/pkeys: Add protection keys related CPUID definitions]

whioch added support for two new CPUID bits: X86_FEATURE_PKU and X86_FEATURE_OSPKE. But, those bits were mis-merged and put in cpufeature.h instead of cpufeatures.h.

This didn't cause any breakage *except* it keeps the "ospke" and "pku" bits from showing up in cpuinfo.

Now cpuinfo has the two new flags:

flags : ... pku ospke

BTW, is it really wise to have cpufeature.h and cpufeatures.h? It seems like they can only cause confusion and mahem with tab completion.

---

 b/arch/x86/include/asm/cpufeature.h  |    4 ----
 b/arch/x86/include/asm/cpufeatures.h |    4 ++++
 2 files changed, 4 insertions(+), 4 deletions(-)
arch/x86/include/asm/cpufeature.h renamed from arch/x86/include/asm/cpufeature.h~fix-next-mismerge +0 -4
diff -puN arch/x86/include/asm/cpufeature.h~fix-next-mismerge arch/x86/include/asm/cpufeature.h
@@ -94,10 +94,6 @@ extern const char * const x86_bug_flags[
 	(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : 	\
 	 x86_this_cpu_test_bit(bit, (unsigned long *)&cpu_info.x86_capability))
 
-/* Intel-defined CPU features, CPUID level 0x00000007:0 (ecx), word 16 */
-#define X86_FEATURE_PKU		(16*32+ 3) /* Protection Keys for Userspace */
-#define X86_FEATURE_OSPKE	(16*32+ 4) /* OS Protection Keys Enable */
-
 /*
  * This macro is for detection of features which need kernel
  * infrastructure to be used.  It may *not* directly test the CPU
arch/x86/include/asm/cpufeatures.h renamed from arch/x86/include/asm/cpufeatures.h~fix-next-mismerge +4 -0
diff -puN arch/x86/include/asm/cpufeatures.h~fix-next-mismerge arch/x86/include/asm/cpufeatures.h
@@ -271,6 +271,10 @@
 #define X86_FEATURE_PFTHRESHOLD (15*32+12) /* pause filter threshold */
 #define X86_FEATURE_AVIC	(15*32+13) /* Virtual Interrupt Controller */
 
+/* Intel-defined CPU features, CPUID level 0x00000007:0 (ecx), word 16 */
+#define X86_FEATURE_PKU		(16*32+ 3) /* Protection Keys for Userspace */
+#define X86_FEATURE_OSPKE	(16*32+ 4) /* OS Protection Keys Enable */
+
 /*
  * BUG word(s)
  */

_

#1 lore raw

[tip:mm/pkeys] x86/mm/pkeys: Fix mismerge of protection keys CPUID bits

x86/mm/pkeys: Fix mismerge of protection keys CPUID bits
Commit-ID:  0d47638f80a02b15869f1fe1fc09e5bf996750fd
Gitweb:     http://git.kernel.org/tip/0d47638f80a02b15869f1fe1fc09e5bf996750fd
Author:     Dave Hansen <[email protected]>
AuthorDate: Thu, 10 Mar 2016 14:12:13 -0800
Committer:  Ingo Molnar <[email protected]>
CommitDate: Fri, 11 Mar 2016 09:55:57 +0100

x86/mm/pkeys: Fix mismerge of protection keys CPUID bits

Kirill Shutemov pointed this out to me.

The tip tree currently has commit:

dfb4a70f2 [x86/cpufeature, x86/mm/pkeys: Add protection keys related CPUID definitions]

whioch added support for two new CPUID bits: X86_FEATURE_PKU and X86_FEATURE_OSPKE. But, those bits were mis-merged and put in cpufeature.h instead of cpufeatures.h.

This didn't cause any breakage *except* it keeps the "ospke" and "pku" bits from showing up in cpuinfo.

Now cpuinfo has the two new flags:

flags : ... pku ospke

BTW, is it really wise to have cpufeature.h and cpufeatures.h? It seems like they can only cause confusion and mahem with tab completion.

---
 arch/x86/include/asm/cpufeature.h  | 4 ----
 arch/x86/include/asm/cpufeatures.h | 4 ++++
 2 files changed, 4 insertions(+), 4 deletions(-)
arch/x86/include/asm/cpufeature.h +0 -4
index 50e292a..3636ec0 100644
@@ -94,10 +94,6 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
 	(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : 	\
 	 x86_this_cpu_test_bit(bit, (unsigned long *)&cpu_info.x86_capability))
 
-/* Intel-defined CPU features, CPUID level 0x00000007:0 (ecx), word 16 */
-#define X86_FEATURE_PKU		(16*32+ 3) /* Protection Keys for Userspace */
-#define X86_FEATURE_OSPKE	(16*32+ 4) /* OS Protection Keys Enable */
-
 /*
  * This macro is for detection of features which need kernel
  * infrastructure to be used.  It may *not* directly test the CPU
arch/x86/include/asm/cpufeatures.h +4 -0
index cbb2c56..89949a2 100644
@@ -270,6 +270,10 @@
 #define X86_FEATURE_PFTHRESHOLD (15*32+12) /* pause filter threshold */
 #define X86_FEATURE_AVIC	(15*32+13) /* Virtual Interrupt Controller */
 
+/* Intel-defined CPU features, CPUID level 0x00000007:0 (ecx), word 16 */
+#define X86_FEATURE_PKU		(16*32+ 3) /* Protection Keys for Userspace */
+#define X86_FEATURE_OSPKE	(16*32+ 4) /* OS Protection Keys Enable */
+
 /*
  * BUG word(s)
  */