Browse Source

smpboot: fix cachesize comparison in smp_tune_scheduling()

Jarek Poplawski noted that boot_cpu_data.x86_cache_size is signed int
and can be < 0 too.

In fact we test for it. Except we assigned it to an unsigned value..

Cc: Jarek Poplawski <jarkao2@o2.pl>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Andi Kleen <ak@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds 18 years ago
parent
commit
8387c1a463
1 changed files with 2 additions and 3 deletions
  1. 2 3
      arch/i386/kernel/smpboot.c

+ 2 - 3
arch/i386/kernel/smpboot.c

@@ -943,10 +943,9 @@ exit:
 
 
 static void smp_tune_scheduling(void)
 static void smp_tune_scheduling(void)
 {
 {
-	unsigned long cachesize;       /* kB   */
-
 	if (cpu_khz) {
 	if (cpu_khz) {
-		cachesize = boot_cpu_data.x86_cache_size;
+		/* cache size in kB */
+		long cachesize = boot_cpu_data.x86_cache_size;
 
 
 		if (cachesize > 0)
 		if (cachesize > 0)
 			max_cache_size = cachesize * 1024;
 			max_cache_size = cachesize * 1024;