Message ID | 20240517075728.9722-2-yuxuan.luo@canonical.com |
---|---|
State | New |
Headers | show |
Series | CVE-2024-2201 | expand |
On Fri, May 17, 2024 at 3:59 PM Yuxuan Luo <yuxuan.luo@canonical.com> wrote: > > From: Sandipan Das <sandipan.das@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@amd.com> > Signed-off-by: Ingo Molnar <mingo@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@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. > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team
On 5/21/24 10:35 PM, Chris Chiu wrote: > On Fri, May 17, 2024 at 3:59 PM Yuxuan Luo <yuxuan.luo@canonical.com> wrote: >> >> From: Sandipan Das <sandipan.das@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@amd.com> >> Signed-off-by: Ingo Molnar <mingo@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@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
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 */