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>
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 08f07a7..88baed1 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c
@@ -943,10 +943,9 @@ 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;