aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArseny Solokha <asolokha@kb.kras.ru>2015-02-03 21:18:02 -0500
committerMichael Ellerman <mpe@ellerman.id.au>2015-02-03 21:19:27 -0500
commitc2c896bee08e1461fc24f9bf7dd57e2c63f6db70 (patch)
tree35315d0675d8c56dd3b3861081c6653799375987
parent7f43e71e8c538356efd5b33a183e6d9ace4739a5 (diff)
powerpc/mm: Warn on flushing tlb page in kernel context
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>
-rw-r--r--arch/powerpc/mm/tlb_nohash.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c
index ab0616b0e6c2..cbd3d069897f 100644
--- a/arch/powerpc/mm/tlb_nohash.c
+++ b/arch/powerpc/mm/tlb_nohash.c
@@ -284,7 +284,11 @@ void __flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr,
284 struct cpumask *cpu_mask; 284 struct cpumask *cpu_mask;
285 unsigned int pid; 285 unsigned int pid;
286 286
287 if (unlikely(!mm)) 287 /*
288 * This function as well as __local_flush_tlb_page() must only be called
289 * for user contexts.
290 */
291 if (unlikely(WARN_ON(!mm)))
288 return; 292 return;
289 293
290 preempt_disable(); 294 preempt_disable();