From: Haavard Skinnemoen The AVR32 MMU has three protection bits for allowing unprivileged access, write access and execute access respectively. There is no way to deny read access while allowing write or execute access. make-prot_write-imply-prot_read.patch in mm does basically the same thing for several other architectures. One important difference is that this patch makes PROT_EXEC imply PROT_READ as well, but it looks like this is the case for most other architectures already. Signed-off-by: Haavard Skinnemoen Acked-by: Jason Baron Signed-off-by: Andrew Morton --- arch/avr32/mm/fault.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN arch/avr32/mm/fault.c~avr32-make-prot_write-prot_exec-imply-prot_read arch/avr32/mm/fault.c --- a/arch/avr32/mm/fault.c~avr32-make-prot_write-prot_exec-imply-prot_read +++ a/arch/avr32/mm/fault.c @@ -134,7 +134,7 @@ good_area: break; case ECR_PROTECTION_R: case ECR_TLB_MISS_R: - if (!(vma->vm_flags & VM_READ)) + if (!(vma->vm_flags & (VM_READ | VM_WRITE | VM_EXEC))) goto bad_area; break; case ECR_PROTECTION_W: _