x86/vdso: Set VM_MAYREAD for the vvar vma
authorAndy Lutomirski <luto@amacapital.net>
Fri, 25 Jul 2014 23:27:01 +0000 (16:27 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Fri, 25 Jul 2014 23:32:53 +0000 (16:32 -0700)
The VVAR area can, obviously, be read; that is kind of the point.

AFAIK this has no effect whatsoever unless x86 suddenly turns into a
nommu architecture.  Nonetheless, not setting it is suspicious.

Reported-by: Nathan Lynch <Nathan_Lynch@mentor.com>
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/r/e4c8bf4bc2725bda22c4a4b7d0c82adcd8f8d9b8.1406330779.git.luto@amacapital.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/vdso/vma.c

index dbef622..970463b 100644 (file)
@@ -138,7 +138,7 @@ static int map_vdso(const struct vdso_image *image, bool calculate_addr)
        vma = _install_special_mapping(mm,
                                       addr,
                                       -image->sym_vvar_start,
-                                      VM_READ,
+                                      VM_READ|VM_MAYREAD,
                                       &vvar_mapping);
 
        if (IS_ERR(vma)) {