Re: [PATCH v2 2/4] x86/split_lock: Align x86_capability to unsigned long to avoid split locked access

From: Thomas Gleixner
Date: Fri Jun 29 2018 - 12:36:05 EST


On Fri, 29 Jun 2018, Dave Hansen wrote:

> On 06/29/2018 07:33 AM, Fenghua Yu wrote:
> > --- a/arch/x86/include/asm/processor.h
> > +++ b/arch/x86/include/asm/processor.h
> > @@ -105,7 +105,8 @@ struct cpuinfo_x86 {
> > __u32 extended_cpuid_level;
> > /* Maximum supported CPUID level, -1=no CPUID: */
> > int cpuid_level;
> > - __u32 x86_capability[NCAPINTS + NBUGINTS];
> > + __u32 x86_capability[NCAPINTS + NBUGINTS]
> > + __aligned(sizeof(unsigned long));
> > char x86_vendor_id[16];
> > char x86_model_id[64];
> > /* in KB - valid for CPUS which support this call: */
>
> This is begging for comments.

Right and this patch wants to be the first in the series as it fixes an
existing issue and can be picked up independently of the rest.

Plus what enforces proper alignment for the other capability related
u32 arrays?

Thanks,

tglx