Re: [PATCH] x86/cpufeature: drop *_MASK_CEHCK
From: Cao jin
Date: Tue Aug 27 2019 - 23:09:16 EST
On 8/28/19 1:20 AM, Borislav Petkov wrote:
> On Tue, Aug 27, 2019 at 09:33:11AM -0700, Dave Hansen wrote:
>> The point was that there are 5 files in the code that need to be changed
>> if you change NCAPINTS:
>> 1. arch/x86/include/asm/required-features.h
>> 2. arch/x86/include/asm/disabled-features.h
>> 3. tools/arch/x86/include/asm/disabled-features.h
>> 4. tools/arch/x86/include/asm/required-features.h
>> 5. arch/x86/include/asm/cpufeature.h (2 sites)
>> Each of those sites has a compile-time check for NCAPINTS. The problem
>> is that the *-features.h code doesn't get compiled directly so a
>> BUILD_BUG_ON() doesn't work by itself. So, for the sites there, we put
>> it somewhere that *will* get compiled: the macros that actually check
>> the bits.
>> It looks weird, but the end effect is good: If you change NCAPINTS, you
>> get compile errors in 5 files and have to go edit those 5 files to fix
>> it. Your patch makes it easier to introduce errors and miss one of
>> those sites.
> ... and we wouldn't want to debug any strange bugs from missing a case.
> So, Cao, I wouldn't mind having the gist of that above somewhere around
> there in a comment explicitly.
A subtle issue hard to detect by eyes. Sure, on the way.