[snip] <self review> The test bot reported build errors on i386 yesterday. Not sure why they were not caught before... Anyway that caused me to look at this patch again and I've found a couple of issues noted below. Combined with Sean's review I'll be re-spinning a new v5. > diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h > index 546d6ecf0a35..c15a049bf6ac 100644 > --- a/arch/x86/include/asm/msr-index.h > +++ b/arch/x86/include/asm/msr-index.h > @@ -765,6 +765,7 @@ > > #define MSR_IA32_TSC_DEADLINE 0x000006E0 > > +#define MSR_IA32_PKRS 0x000006E1 This belongs in patch 5 where it is 'used'. Note that nothing is really used until the final test patch... But in review this define does not make any sense here... > > #define MSR_TSX_FORCE_ABORT 0x0000010F > > diff --git a/arch/x86/include/asm/pkeys_common.h b/arch/x86/include/asm/pkeys_common.h > index 0681522974ba..6917f1a27479 100644 > --- a/arch/x86/include/asm/pkeys_common.h > +++ b/arch/x86/include/asm/pkeys_common.h > @@ -17,4 +17,18 @@ > #define PKR_AD_KEY(pkey) (PKR_AD_BIT << PKR_PKEY_SHIFT(pkey)) > #define PKR_WD_KEY(pkey) (PKR_WD_BIT << PKR_PKEY_SHIFT(pkey)) > > +/* > + * Define a default PKRS value for each task. > + * > + * Key 0 has no restriction. All other keys are set to the most restrictive > + * value which is access disabled (AD=1). > + * > + * NOTE: This needs to be a macro to be used as part of the INIT_THREAD macro. > + */ > +#define INIT_PKRS_VALUE (PKR_AD_KEY(1) | PKR_AD_KEY(2) | PKR_AD_KEY(3) | \ > + PKR_AD_KEY(4) | PKR_AD_KEY(5) | PKR_AD_KEY(6) | \ > + PKR_AD_KEY(7) | PKR_AD_KEY(8) | PKR_AD_KEY(9) | \ > + PKR_AD_KEY(10) | PKR_AD_KEY(11) | PKR_AD_KEY(12) | \ > + PKR_AD_KEY(13) | PKR_AD_KEY(14) | PKR_AD_KEY(15)) The same is true for this macro. While it is used in this patch it is used first in patch 5. So it should be there. I'm letting 0-day crank on these changes but there should be a v5 out very soon. Sorry for the noise, Ira