diff options
author | George G. Davis <davis_g@mvista.com> | 2006-09-20 22:57:04 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-09-25 05:34:04 -0400 |
commit | a71ebdfa5243765e455a9ec2d6360e1704c6599e (patch) | |
tree | 07685ddb0d4a8f3b1872b73be5d6fda724a6dc9e /arch/arm/mm/flush.c | |
parent | e7cc2c59cc83558fc26f17eee3c8f901119f0a7c (diff) |
[ARM] 3853/1: Fix flush_ptrace_access() thinko for nonaliasing VIPT cache case
Fix thinko in the flush_ptrace_access() "if (expr)" for the ARM
VIPT non-aliasing cache case. We only need to flush cache when
VM_EXEC is set in vma->vm_flags but "if (expr) always evaluates
to true on UP systems for the ARM VIPT non-aliasing cache case.
Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/flush.c')
-rw-r--r-- | arch/arm/mm/flush.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c index 1efb05c64db3..454205b789d5 100644 --- a/arch/arm/mm/flush.c +++ b/arch/arm/mm/flush.c | |||
@@ -107,7 +107,7 @@ void flush_ptrace_access(struct vm_area_struct *vma, struct page *page, | |||
107 | 107 | ||
108 | /* VIPT non-aliasing cache */ | 108 | /* VIPT non-aliasing cache */ |
109 | if (cpu_isset(smp_processor_id(), vma->vm_mm->cpu_vm_mask) && | 109 | if (cpu_isset(smp_processor_id(), vma->vm_mm->cpu_vm_mask) && |
110 | vma->vm_flags | VM_EXEC) { | 110 | vma->vm_flags & VM_EXEC) { |
111 | unsigned long addr = (unsigned long)kaddr; | 111 | unsigned long addr = (unsigned long)kaddr; |
112 | /* only flushing the kernel mapping on non-aliasing VIPT */ | 112 | /* only flushing the kernel mapping on non-aliasing VIPT */ |
113 | __cpuc_coherent_kern_range(addr, addr + len); | 113 | __cpuc_coherent_kern_range(addr, addr + len); |