[PATCH 3.16 42/76] x86/cpu: Change type of x86_cache_size variable to unsigned int

2018-03-11 Thread Ben Hutchings
3.16.56-rc1 review patch.  If anyone has any objections, please let me know.

--

From: "Gustavo A. R. Silva" 

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.

Suggested-by: Thomas Gleixner 
Signed-off-by: Gustavo A. R. Silva 
Cc: Borislav Petkov 
Cc: Linus Torvalds 
Cc: Peter Zijlstra 
Addresses-Coverity-ID: 1464429
Link: http://lkml.kernel.org/r/20180213192208.ga26...@embeddedor.com
Signed-off-by: Ingo Molnar 
Signed-off-by: Ben Hutchings 
---
 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(-)

--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -107,7 +107,7 @@ struct cpuinfo_x86 {
charx86_vendor_id[16];
charx86_model_id[64];
/* in KB - valid for CPUS which support this call: */
-   int x86_cache_size;
+   unsigned intx86_cache_size;
int x86_cache_alignment;/* In bytes */
int x86_power;
unsigned long   loops_per_jiffy;
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -905,7 +905,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_mask = 0; /* So far unknown... */
c->x86_vendor_id[0] = '\0'; /* Unset */
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -352,7 +352,7 @@ static struct microcode_ops microcode_in
 
 static 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);
 
--- a/arch/x86/kernel/cpu/proc.c
+++ b/arch/x86/kernel/cpu/proc.c
@@ -86,8 +86,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);



[PATCH 3.16 42/76] x86/cpu: Change type of x86_cache_size variable to unsigned int

2018-03-11 Thread Ben Hutchings
3.16.56-rc1 review patch.  If anyone has any objections, please let me know.

--

From: "Gustavo A. R. Silva" 

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.

Suggested-by: Thomas Gleixner 
Signed-off-by: Gustavo A. R. Silva 
Cc: Borislav Petkov 
Cc: Linus Torvalds 
Cc: Peter Zijlstra 
Addresses-Coverity-ID: 1464429
Link: http://lkml.kernel.org/r/20180213192208.ga26...@embeddedor.com
Signed-off-by: Ingo Molnar 
Signed-off-by: Ben Hutchings 
---
 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(-)

--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -107,7 +107,7 @@ struct cpuinfo_x86 {
charx86_vendor_id[16];
charx86_model_id[64];
/* in KB - valid for CPUS which support this call: */
-   int x86_cache_size;
+   unsigned intx86_cache_size;
int x86_cache_alignment;/* In bytes */
int x86_power;
unsigned long   loops_per_jiffy;
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -905,7 +905,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_mask = 0; /* So far unknown... */
c->x86_vendor_id[0] = '\0'; /* Unset */
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -352,7 +352,7 @@ static struct microcode_ops microcode_in
 
 static 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);
 
--- a/arch/x86/kernel/cpu/proc.c
+++ b/arch/x86/kernel/cpu/proc.c
@@ -86,8 +86,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);