diff options
author | Arseny Solokha <asolokha@kb.kras.ru> | 2015-02-03 21:18:02 -0500 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-02-03 21:19:27 -0500 |
commit | c2c896bee08e1461fc24f9bf7dd57e2c63f6db70 (patch) | |
tree | 35315d0675d8c56dd3b3861081c6653799375987 | |
parent | 7f43e71e8c538356efd5b33a183e6d9ace4739a5 (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.c | 6 |
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(); |