[PATCH 01/15] x86/cpufeatures: Add new word for scattered features
Tim Gardner
tim.gardner at canonical.com
Thu May 23 15:26:43 UTC 2024
On 5/21/24 10:35 PM, Chris Chiu wrote:
> On Fri, May 17, 2024 at 3:59 PM Yuxuan Luo <yuxuan.luo at canonical.com> wrote:
>>
>> From: Sandipan Das <sandipan.das at amd.com>
>>
>> Add a new word for scattered features because all free bits among the
>> existing Linux-defined auxiliary flags have been exhausted.
>>
>> Signed-off-by: Sandipan Das <sandipan.das at amd.com>
>> Signed-off-by: Ingo Molnar <mingo at kernel.org>
>> Link: https://lore.kernel.org/r/8380d2a0da469a1f0ad75b8954a79fb689599ff6.1711091584.git.sandipan.das@amd.com
>> (cherry picked from commit 7f274e609f3d5f45c22b1dd59053f6764458b492)
>> CVE-2024-2201
>> Signed-off-by: Yuxuan Luo <yuxuan.luo at canonical.com>
>> ---
>> arch/x86/include/asm/cpufeature.h | 6 ++++--
>> arch/x86/include/asm/cpufeatures.h | 2 +-
>> arch/x86/include/asm/disabled-features.h | 3 ++-
>> arch/x86/include/asm/required-features.h | 3 ++-
>> 4 files changed, 9 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
>> index 4466a47b76080..41cb0cbbfdebf 100644
>> --- a/arch/x86/include/asm/cpufeature.h
>> +++ b/arch/x86/include/asm/cpufeature.h
>> @@ -92,8 +92,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
>> CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \
>> CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 19, feature_bit) || \
>> CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 20, feature_bit) || \
>> + CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 21, feature_bit) || \
>> REQUIRED_MASK_CHECK || \
>> - BUILD_BUG_ON_ZERO(NCAPINTS != 21))
>> + BUILD_BUG_ON_ZERO(NCAPINTS != 22))
>>
>> #define DISABLED_MASK_BIT_SET(feature_bit) \
>> ( CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 0, feature_bit) || \
>> @@ -117,8 +118,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
>> CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 18, feature_bit) || \
>> CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 19, feature_bit) || \
>> CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 20, feature_bit) || \
>> + CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 21, feature_bit) || \
>> DISABLED_MASK_CHECK || \
>> - BUILD_BUG_ON_ZERO(NCAPINTS != 21))
>> + BUILD_BUG_ON_ZERO(NCAPINTS != 22))
>>
>> #define cpu_has(c, bit) \
>> (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
>> diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
>> index 1ccdc67151453..68fd012e9df6e 100644
>> --- a/arch/x86/include/asm/cpufeatures.h
>> +++ b/arch/x86/include/asm/cpufeatures.h
>> @@ -13,7 +13,7 @@
>> /*
>> * Defines x86 CPU feature bits
>> */
>> -#define NCAPINTS 21 /* N 32-bit words worth of info */
>> +#define NCAPINTS 22 /* N 32-bit words worth of info */
>> #define NBUGINTS 2 /* N 32-bit bug flags */
>>
>> /*
>> diff --git a/arch/x86/include/asm/disabled-features.h b/arch/x86/include/asm/disabled-features.h
>> index 8453260f6d9f9..b51b937beea37 100644
>> --- a/arch/x86/include/asm/disabled-features.h
>> +++ b/arch/x86/include/asm/disabled-features.h
>> @@ -86,6 +86,7 @@
>> #define DISABLED_MASK18 0
>> #define DISABLED_MASK19 0
>> #define DISABLED_MASK20 0
>> -#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21)
>> +#define DISABLED_MASK21 0
>> +#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 22)
>>
>> #endif /* _ASM_X86_DISABLED_FEATURES_H */
>> diff --git a/arch/x86/include/asm/required-features.h b/arch/x86/include/asm/required-features.h
>> index fb3d81347e333..06fb6b66a093b 100644
>> --- a/arch/x86/include/asm/required-features.h
>> +++ b/arch/x86/include/asm/required-features.h
>> @@ -103,6 +103,7 @@
>> #define REQUIRED_MASK18 0
>> #define REQUIRED_MASK19 0
>> #define REQUIRED_MASK20 0
>> -#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21)
>> +#define REQUIRED_MASK21 0
>> +#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 22)
>>
>> #endif /* _ASM_X86_REQUIRED_FEATURES_H */
>> --
>> 2.34.1
>>
>
> Please also append the [SRU] and which kernel you'd like to apply to
> the patchset.
> I assume it's the same [Focal] as the cover letter.
>>
Chris - I don't understand your comment. This is a CVE patch and
therefore does not require an SRU justification. Furthermore, the
destination kernel (Focal) seems clear to me from the subject of the
cover note.
rtg
--
-----------
Tim Gardner
Canonical, Inc
More information about the kernel-team
mailing list