Explorar o código

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 %!s(int64=18) %!d(string=hai) anos
pai
achega
8387c1a463
Modificáronse 1 ficheiros con 2 adicións e 3 borrados
  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)
 {
-	unsigned long cachesize;       /* kB   */
-
 	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)
 			max_cache_size = cachesize * 1024;