powerpc/mm: Warn on flushing tlb page in kernel context
authorArseny Solokha <asolokha@kb.kras.ru>
Wed, 4 Feb 2015 02:18:02 +0000 (13:18 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 4 Feb 2015 02:19:27 +0000 (13:19 +1100)
Function __flush_tlb_page() must only be called for user contexts, so
put in extra hardening to warn on calling it for kernel context.

Signed-off-by: Arseny Solokha <asolokha@kb.kras.ru>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/tlb_nohash.c

index ab0616b..cbd3d06 100644 (file)
@@ -284,7 +284,11 @@ void __flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr,
        struct cpumask *cpu_mask;
        unsigned int pid;
 
-       if (unlikely(!mm))
+       /*
+        * This function as well as __local_flush_tlb_page() must only be called
+        * for user contexts.
+        */
+       if (unlikely(WARN_ON(!mm)))
                return;
 
        preempt_disable();