Module: xenomai-head
Branch: master
Commit: 8686392248f34fbc3a6ee8e9b5a93964cdeaa580
URL:    
http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=8686392248f34fbc3a6ee8e9b5a93964cdeaa580

Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org>
Date:   Thu Aug 25 21:44:10 2011 +0200

arm: do not simulate write fault

when faulting a PROT_NONE, or PROT_READ only mapping.

---

 ksrc/arch/arm/hal.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/ksrc/arch/arm/hal.c b/ksrc/arch/arm/hal.c
index 4794c4c..6b2c30a 100644
--- a/ksrc/arch/arm/hal.c
+++ b/ksrc/arch/arm/hal.c
@@ -430,8 +430,12 @@ int rthal_irq_end(unsigned int irq)
 void __rthal_arm_fault_range(struct vm_area_struct *vma)
 {
        unsigned long addr;
-       for (addr = vma->vm_start; addr != vma->vm_end; addr += PAGE_SIZE)
-               handle_mm_fault(vma->vm_mm, vma, addr, 1);
+
+       if ((vma->vm_flags & VM_MAYREAD))
+               for (addr = vma->vm_start;
+                    addr != vma->vm_end; addr += PAGE_SIZE)
+                       handle_mm_fault(vma->vm_mm, vma, addr,
+                                       vma->vm_flags & VM_MAYWRITE);
 }
 
 static inline int do_exception_event(unsigned event, unsigned domid, void 
*data)


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to