Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932771AbcCJWMl (ORCPT ); Thu, 10 Mar 2016 17:12:41 -0500 Received: from mga01.intel.com ([192.55.52.88]:35526 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932441AbcCJWMk (ORCPT ); Thu, 10 Mar 2016 17:12:40 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,317,1455004800"; d="scan'208";a="907396450" Subject: [PATCH] x86, pkeys: fix mismerge of protection keys CPUID bits To: linux-kernel@vger.kernel.org Cc: Dave Hansen , dave.hansen@linux.intel.com, x86@kernel.org, bp@suse.de, luto@kernel.org, kirill.shutemov@linux.intel.com From: Dave Hansen Date: Thu, 10 Mar 2016 14:12:13 -0800 Message-Id: <20160310221213.06F9DB53@viggo.jf.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2537 Lines: 64 From: Dave Hansen 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. Signed-off-by: Dave Hansen Cc: x86@kernel.org Cc: Borislav Petkov Cc: Andy Lutomirski Cc: kirill.shutemov@linux.intel.com --- b/arch/x86/include/asm/cpufeature.h | 4 ---- b/arch/x86/include/asm/cpufeatures.h | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff -puN arch/x86/include/asm/cpufeature.h~fix-next-mismerge arch/x86/include/asm/cpufeature.h --- a/arch/x86/include/asm/cpufeature.h~fix-next-mismerge 2016-03-10 13:54:07.697446555 -0800 +++ b/arch/x86/include/asm/cpufeature.h 2016-03-10 13:54:15.944822125 -0800 @@ -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 diff -puN arch/x86/include/asm/cpufeatures.h~fix-next-mismerge arch/x86/include/asm/cpufeatures.h --- a/arch/x86/include/asm/cpufeatures.h~fix-next-mismerge 2016-03-10 13:54:07.698446601 -0800 +++ b/arch/x86/include/asm/cpufeatures.h 2016-03-10 13:54:23.506166451 -0800 @@ -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) */ _