aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/flush.c
diff options
context:
space:
mode:
authorGeorge G. Davis <davis_g@mvista.com>2006-09-20 22:57:04 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-09-25 05:34:04 -0400
commita71ebdfa5243765e455a9ec2d6360e1704c6599e (patch)
tree07685ddb0d4a8f3b1872b73be5d6fda724a6dc9e /arch/arm/mm/flush.c
parente7cc2c59cc83558fc26f17eee3c8f901119f0a7c (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.c2
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);