x86/vdso: Use CONFIG_X86_X32_ABI to enable vdso prctl
authorVinson Lee <vlee@freedesktop.org>
Sat, 17 Sep 2016 00:51:53 +0000 (00:51 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 19 Sep 2016 22:01:48 +0000 (00:01 +0200)
The prctl code which references vdso_image_x32 is built when CONFIG_X86_X32
is set. This results in the following build failure:

  LD      init/built-in.o
arch/x86/built-in.o: In function `do_arch_prctl':
(.text+0x27466): undefined reference to `vdso_image_x32'

vdso_image_x32 depends on CONFIG_X86_X32_ABI. So we need to make the prctl
depend on that as well.

[ tglx: Massaged changelog ]

Fixes: 2eefd8789698 ("x86/arch_prctl/vdso: Add ARCH_MAP_VDSO_*")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Dmitry Vyukov <dvyukov@google.com>
Link: http://lkml.kernel.org/r/1474073513-6656-1-git-send-email-vlee@freedesktop.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/process_64.c

index b26a0092a01d1f7a6e287365fea766a130029926..b4603b71a65905067f817d835b20ad2009b55e69 100644 (file)
@@ -592,7 +592,7 @@ long do_arch_prctl(struct task_struct *task, int code, unsigned long addr)
        }
 
 #ifdef CONFIG_CHECKPOINT_RESTORE
-# ifdef CONFIG_X86_X32
+# ifdef CONFIG_X86_X32_ABI
        case ARCH_MAP_VDSO_X32:
                return prctl_map_vdso(&vdso_image_x32, addr);
 # endif