x86/vdso: Provide vdso_data offset on vvar_page
authorDmitry Safonov <dima@arista.com>
Tue, 12 Nov 2019 01:27:10 +0000 (01:27 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 14 Jan 2020 11:20:57 +0000 (12:20 +0100)
commit64b302ab66c5965702693e79690823ca120288b9
treec25dbd01ca0bf17e1e9ca9a0e0c53b80849f02c3
parent660fd04f9317172ae90f414c68b18a26ae88a829
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
arch/x86/entry/vdso/vdso-layout.lds.S
arch/x86/entry/vdso/vma.c
arch/x86/include/asm/vvar.h
arch/x86/kernel/vmlinux.lds.S
include/linux/time_namespace.h