Re: [PATCH] x86: fix 32-bit *_cpu_data initializers

From: Borislav Petkov
Date: Sat Mar 02 2013 - 18:46:43 EST


On Sun, Mar 03, 2013 at 12:14:42AM +0100, Krzysztof Mazur wrote:
> The commit 27be457000211a6903968dfce06d5f73f051a217
> (x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flag)
> removed the hlt_works_ok flag from struct cpuinfo_x86, but
> boot_cpu_data and new_cpu_data initializers were not changed causing
> setting f00f_bug flag, instead of fdiv_bug. If CONFIG_X86_F00F_BUG
> is not set the f00f_bug flag is never cleared.
>
> To avoid such problems in future C99-style initialization is now used.
>
> Signed-off-by: Krzysztof Mazur <krzysiek@xxxxxxxxxxxx>

Good catch.

Acked-by: Borislav Petkov <bp@xxxxxxx>

> ---
> $ cat < /proc/cpuinfo
> processor : 0
> vendor_id : GenuineIntel
> cpu family : 6
> model : 13
> model name : Intel(R) Pentium(R) M processor 1.73GHz
> stepping : 8
> microcode : 0x20
> cpu MHz : 800.000
> cache size : 2048 KB
> fdiv_bug : no
> f00f_bug : yes
> ...
>
> By the way now in struct cpuinfo_x86 for 32-bit systems pad0
> should be extended to 2 bytes or removed, because now 32-bit
> specific bugs area have now 6 bytes + pad0.

It's good that you bring this up - I have a patchset which removes all
those *_bug fields in cpuinfo_x86 which means the padding goes away too.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/