Patch "x86/cpu: Change type of x86_cache_size variable to unsigned int" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
x86/cpu: Change type of x86_cache_size variable to unsigned int
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
x86-cpu-change-type-of-x86_cache_size-variable-to-unsigned-int.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
24dbc6000f4b9b0ef5a9daecb161f1907733765aMon Sep 17 00:00:00 2001
From: "Gustavo A. R. Silva" <[email protected]>
Date: Tue, 13 Feb 2018 13:22:08 -0600
Subject: x86/cpu: Change type of x86_cache_size variable to unsigned int
From: Gustavo A. R. Silva <[email protected]>
commit 24dbc6000f4b9b0ef5a9daecb161f1907733765a upstream.
Currently, x86_cache_size is of type int, which makes no sense as we will never have a valid cache size equal or less than 0. So instead of initializing this variable to -1, it can perfectly be initialized to 0 and use it as an unsigned variable instead.
Addresses-Coverity-ID: 1464429
--- arch/x86/include/asm/processor.h | 2 +- arch/x86/kernel/cpu/common.c | 2 +- arch/x86/kernel/cpu/microcode/intel.c | 2 +- arch/x86/kernel/cpu/proc.c | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-)
arch/x86/include/asm/processor.h +1 -1
@@ -113,7 +113,7 @@ struct cpuinfo_x86 {char x86_vendor_id[16 ];char x86_model_id[64 ];/* in KB - valid for CPUS which support this call: */ -int x86_cache_size; +unsigned int x86_cache_size;int x86_cache_alignment;/* In bytes */ /* Cache QoS architectural values: */ int x86_cache_max_rmid;/* max index */
arch/x86/kernel/cpu/common.c +1 -1
@@ -1144,7 +1144,7 @@ static void identify_cpu(struct cpuinfo_int i; c->loops_per_jiffy = loops_per_jiffy; - c->x86_cache_size =-1 ; + c->x86_cache_size =0 ; c->x86_vendor =X86_VENDOR_UNKNOWN ; c->x86_model = c->x86_stepping =0 ;/* So far unknown... */ c->x86_vendor_id[0 ] ='\0' ;/* Unset */
arch/x86/kernel/cpu/microcode/intel.c +1 -1
@@ -1132,7 +1132,7 @@ static struct microcode_ops microcode_instatic int __init calc_llc_size_per_core (struct cpuinfo_x86 *c) { -u64 llc_size = c->x86_cache_size *1024 ; +u64 llc_size = c->x86_cache_size *1024ULL ;do_div (llc_size, c->x86_max_cores);
arch/x86/kernel/cpu/proc.c +2 -2
@@ -87,8 +87,8 @@ static int show_cpuinfo(struct seq_file }/* Cache size */ -if (c->x86_cache_size >=0 ) -seq_printf (m,"cache size\t: %d KB\n" , c->x86_cache_size); +if (c->x86_cache_size) +seq_printf (m,"cache size\t: %u KB\n" , c->x86_cache_size);show_cpuinfo_core (m, c, cpu);show_cpuinfo_misc (m, c);
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/x86-cpu-change-type-of-x86_cache_size-variable-to-unsigned-int.patch