]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/include/asm/page.h
[ARM] Improve non-executable support
[linux-2.6-omap-h63xx.git] / arch / arm / include / asm / page.h
index cf2e2680daaa1c03ede70035d4497414f917d88a..bed1c0a0036865c40aab88e95b8500e701e940ce 100644 (file)
@@ -184,8 +184,9 @@ typedef struct page *pgtable_t;
 
 #endif /* !__ASSEMBLY__ */
 
-#define VM_DATA_DEFAULT_FLAGS  (VM_READ | VM_WRITE | VM_EXEC | \
-                                VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
+#define VM_DATA_DEFAULT_FLAGS \
+       (((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0) | \
+        VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
 
 /*
  * With EABI on ARMv5 and above we must have 64-bit aligned slab pointers.