diff --git a/mm/memory.c b/mm/memory.c index af227d26e104674e324f99c5f135f3f34e8b4d22..5beb4b894c5aec3995df76f5e93c1ffc7bfd8bd4 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2606,8 +2606,8 @@ static int __init gate_vma_init(void) gate_vma.vm_mm = NULL; gate_vma.vm_start = FIXADDR_USER_START; gate_vma.vm_end = FIXADDR_USER_END; - gate_vma.vm_page_prot = PAGE_READONLY; - gate_vma.vm_flags = 0; + gate_vma.vm_flags = VM_READ | VM_MAYREAD | VM_EXEC | VM_MAYEXEC; + gate_vma.vm_page_prot = __P101; return 0; } __initcall(gate_vma_init);