highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow
[firefly-linux-kernel-4.4.55.git] / mm / highmem.c
index 25878cc49daa268806f46dfa4e05af8d6f8f3998..33587de6b8715cad25ee17254e1b82a4fa3454a3 100644 (file)
@@ -426,9 +426,9 @@ void __init page_address_init(void)
 
 void debug_kmap_atomic(enum km_type type)
 {
-       static unsigned warn_count = 10;
+       static int warn_count = 10;
 
-       if (unlikely(warn_count == 0))
+       if (unlikely(warn_count < 0))
                return;
 
        if (unlikely(in_interrupt())) {