summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/vvar.h
diff options
context:
space:
mode:
authorDmitry Safonov <dima@arista.com>2019-11-12 04:27:10 +0300
committerThomas Gleixner <tglx@linutronix.de>2020-01-14 14:20:57 +0300
commit64b302ab66c5965702693e79690823ca120288b9 (patch)
treec25dbd01ca0bf17e1e9ca9a0e0c53b80849f02c3 /arch/x86/include/asm/vvar.h
parent660fd04f9317172ae90f414c68b18a26ae88a829 (diff)
downloadlinux-64b302ab66c5965702693e79690823ca120288b9.tar.xz
x86/vdso: Provide vdso_data offset on vvar_page
VDSO support for time namespaces needs to set up a page with the same layout as VVAR. That timens page will be placed on position of VVAR page inside namespace. That page has vdso_data->seq set to 1 to enforce the slow path and vdso_data->clock_mode set to VCLOCK_TIMENS to enforce the time namespace handling path. To prepare the time namespace page the kernel needs to know the vdso_data offset. Provide arch_get_vdso_data() helper for locating vdso_data on VVAR page. Co-developed-by: Andrei Vagin <avagin@openvz.org> Signed-off-by: Andrei Vagin <avagin@openvz.org> Signed-off-by: Dmitry Safonov <dima@arista.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20191112012724.250792-22-dima@arista.com
Diffstat (limited to 'arch/x86/include/asm/vvar.h')
-rw-r--r--arch/x86/include/asm/vvar.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/include/asm/vvar.h b/arch/x86/include/asm/vvar.h
index 32f5d9a0b90e..ff2de3025388 100644
--- a/arch/x86/include/asm/vvar.h
+++ b/arch/x86/include/asm/vvar.h
@@ -19,10 +19,10 @@
#ifndef _ASM_X86_VVAR_H
#define _ASM_X86_VVAR_H
-#if defined(__VVAR_KERNEL_LDS)
-
-/* The kernel linker script defines its own magic to put vvars in the
- * right place.
+#ifdef EMIT_VVAR
+/*
+ * EMIT_VVAR() is used by the kernel linker script to put vvars in the
+ * right place. Also, it's used by kernel code to import offsets values.
*/
#define DECLARE_VVAR(offset, type, name) \
EMIT_VVAR(name, offset)