Re: [PATCH] x86/cpu: Strip leading and trailing spaces from the /proc/cpuinfo CPU model field

From: Borislav Petkov
Date: Thu May 21 2015 - 09:38:59 EST


On Wed, May 20, 2015 at 07:36:54AM -0400, Prarit Bhargava wrote:
> When comparing 'model name' fields in /proc/cpuinfo it was noticed that
> a simple test comparing the model name fields was failing. After some
> quick investigation it was noticed that the model name fields were actually
> different -- processor 0's model name field had trailing white space removed,
> while the other processors did not.
>
> Another way of seeing this behaviour is to convert spaces into underscores
> in the output of /proc/cpuinfo,
>
> [thetango@prarit ~]# grep "^model name" /proc/cpuinfo | uniq -c | sed 's/\ /_/g'
> ______1_model_name :_AMD_Opteron(TM)_Processor_6272
> _____63_model_name :_AMD_Opteron(TM)_Processor_6272_________________
>
> which shows two different model name fields even though they should be the
> same.
>
> This occurs because the kernel calls strim() on cpu 0's x86_model_id field
> to output a pretty message to the console in print_cpu_info(), and as a
> result truncates the whitespace at the end of the x86_model_id field.
>
> The x86_model_id field should be the same for the same processors. This
> patch uses string functions to remove both leading and trailing whitespace
> in the x86_model_id field. As a result the print_cpu_info() output looks
> like
>
> smpboot: CPU0: AMD Opteron(TM) Processor 6272 (fam: 15, model: 01, stepping: 02)
>
> and the x86_model_id field is correct on all processors on AMD platforms
>
> [thetango@prarit ~]# grep "^model name" /proc/cpuinfo | uniq -c | sed 's/\ /_/g'
> _____64_model_name :_AMD_Opteron(TM)_Processor_6272
>
> and the functionality is correct on an Intel box:
>
> [thetango@prarit2]# grep "^model name" /proc/cpuinfo | uniq -c | sed 's/\ /_/g'
> ____144_model_name :_Intel(R)_Xeon(R)_CPU_E7-8890_v3_@xxxxxxxx
>
> [v2]: use memmove and update patch subject
>
> Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: x86@xxxxxxxxxx
> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> Cc: Brian Gerst <brgerst@xxxxxxxxx>
> ---
> arch/x86/kernel/cpu/common.c | 17 ++++-------------
> 1 file changed, 4 insertions(+), 13 deletions(-)

Applied, thanks.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--
--
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/