lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 16 Feb 2014 19:51:41 -0800 From: "tip-bot for stefani@...bold.net" <tipbot@...or.com> To: linux-tip-commits@...r.kernel.org Cc: linux-kernel@...r.kernel.org, hpa@...or.com, mingo@...nel.org, stefani@...bold.net, tglx@...utronix.de, hpa@...ux.intel.com Subject: [tip:x86/vdso] x86, vdso: Do conditional fixmap of VVAR and HPET page Commit-ID: eccca441fe1f6b416a3592d764686edb9fbd2ac6 Gitweb: http://git.kernel.org/tip/eccca441fe1f6b416a3592d764686edb9fbd2ac6 Author: stefani@...bold.net <stefani@...bold.net> AuthorDate: Sun, 16 Feb 2014 22:52:48 +0100 Committer: H. Peter Anvin <hpa@...ux.intel.com> CommitDate: Sun, 16 Feb 2014 19:48:52 -0800 x86, vdso: Do conditional fixmap of VVAR and HPET page This patch adds conditional fixmap of the VVAR and HPET pages for the 32 bit kernel. Signed-off-by: Stefani Seibold <stefani@...bold.net> Link: http://lkml.kernel.org/r/1392587568-7325-11-git-send-email-stefani@seibold.net Signed-off-by: H. Peter Anvin <hpa@...ux.intel.com> --- arch/x86/include/asm/vdso.h | 6 ++++++ arch/x86/kernel/hpet.c | 5 +++++ arch/x86/kernel/vsyscall_32.c | 4 ++++ arch/x86/vdso/vdso32-setup.c | 6 ------ 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h index fe3cef9..6db8b23 100644 --- a/arch/x86/include/asm/vdso.h +++ b/arch/x86/include/asm/vdso.h @@ -1,6 +1,12 @@ #ifndef _ASM_X86_VDSO_H #define _ASM_X86_VDSO_H +enum { + VDSO_DISABLED = 0, + VDSO_ENABLED = 1, + VDSO_COMPAT = 2, +}; + #if defined CONFIG_X86_32 || defined CONFIG_COMPAT #include <asm/vdso32.h> diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index 54263f0..b99544b 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c @@ -15,6 +15,7 @@ #include <asm/fixmap.h> #include <asm/hpet.h> #include <asm/time.h> +#include <asm/elf.h> #define HPET_MASK CLOCKSOURCE_MASK(32) @@ -74,6 +75,10 @@ static inline void hpet_writel(unsigned int d, unsigned int a) static inline void hpet_set_mapping(void) { hpet_virt_address = ioremap_nocache(hpet_address, HPET_MMAP_SIZE); +#ifdef CONFIG_X86_32 + if (vdso_enabled != VDSO_COMPAT) + return; +#endif __set_fixmap(VSYSCALL_HPET, hpet_address, PAGE_KERNEL_VVAR_NOCACHE); } diff --git a/arch/x86/kernel/vsyscall_32.c b/arch/x86/kernel/vsyscall_32.c index 4b94c47..0cbf94b 100644 --- a/arch/x86/kernel/vsyscall_32.c +++ b/arch/x86/kernel/vsyscall_32.c @@ -13,8 +13,12 @@ #include <asm/vsyscall.h> #include <asm/pgtable.h> #include <asm/fixmap.h> +#include <asm/elf.h> void __init map_vsyscall(void) { + if (vdso_enabled != VDSO_COMPAT) + return; + __set_fixmap(VVAR_PAGE, __pa_symbol(&__vvar_page), PAGE_KERNEL_VVAR); } diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c index 9b57770..6b74a46 100644 --- a/arch/x86/vdso/vdso32-setup.c +++ b/arch/x86/vdso/vdso32-setup.c @@ -29,12 +29,6 @@ #include <asm/hpet.h> #include <asm/vvar.h> -enum { - VDSO_DISABLED = 0, - VDSO_ENABLED = 1, - VDSO_COMPAT = 2, -}; - #ifdef CONFIG_COMPAT_VDSO #define VDSO_DEFAULT VDSO_COMPAT #else -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists