All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Gerst <brgerst@gmail.com>
To: x86@kernel.org
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Denys Vlasenko <dvlasenk@redhat.com>,
	Andy Lutomirski <luto@amacapital.net>
Subject: [PATCH 06/12] x86/compat: Don't build 32-bit vdso if not needed.
Date: Mon, 22 Jun 2015 07:55:15 -0400	[thread overview]
Message-ID: <1434974121-32575-7-git-send-email-brgerst@gmail.com> (raw)
In-Reply-To: <1434974121-32575-1-git-send-email-brgerst@gmail.com>

Build the 32-bit vdso only for native 32-bit or 32-bit compat is
enabled.  x32 should not force it to build.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
---
 arch/x86/entry/vdso/Makefile | 6 +++---
 arch/x86/entry/vdso/vma.c    | 7 +++++--
 arch/x86/include/asm/elf.h   | 2 +-
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index e970320..96c0617 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -8,7 +8,7 @@ KASAN_SANITIZE := n
 VDSO64-$(CONFIG_X86_64)		:= y
 VDSOX32-$(CONFIG_X86_X32_ABI)	:= y
 VDSO32-$(CONFIG_X86_32)		:= y
-VDSO32-$(CONFIG_COMPAT)		:= y
+VDSO32-$(CONFIG_IA32_EMULATION)	:= y
 
 # files to link into the vdso
 vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o
@@ -20,7 +20,7 @@ obj-y				+= vma.o
 vdso_img-$(VDSO64-y)		+= 64
 vdso_img-$(VDSOX32-y)		+= x32
 vdso_img-$(VDSO32-y)		+= 32-int80
-vdso_img-$(CONFIG_COMPAT)	+= 32-syscall
+vdso_img-$(CONFIG_IA32_EMULATION)	+= 32-syscall
 vdso_img-$(VDSO32-y)		+= 32-sysenter
 
 obj-$(VDSO32-y)			+= vdso32-setup.o
@@ -126,7 +126,7 @@ $(obj)/vdsox32.so.dbg: $(src)/vdsox32.lds $(vobjx32s) FORCE
 # Build multiple 32-bit vDSO images to choose from at boot time.
 #
 vdso32.so-$(VDSO32-y)		+= int80
-vdso32.so-$(CONFIG_COMPAT)	+= syscall
+vdso32.so-$(CONFIG_IA32_EMULATION)	+= syscall
 vdso32.so-$(VDSO32-y)		+= sysenter
 
 vdso32-images			= $(vdso32.so-y:%=vdso32-%.so)
diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c
index 1c9f750..4345431 100644
--- a/arch/x86/entry/vdso/vma.c
+++ b/arch/x86/entry/vdso/vma.c
@@ -177,7 +177,7 @@ up_fail:
 	return ret;
 }
 
-#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT)
+#if defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION)
 static int load_vdso32(void)
 {
 	int ret;
@@ -219,8 +219,11 @@ int compat_arch_setup_additional_pages(struct linux_binprm *bprm,
 		return map_vdso(&vdso_image_x32, true);
 	}
 #endif
-
+#ifdef CONFIG_IA32_EMULATION
 	return load_vdso32();
+#else
+	return 0;
+#endif
 }
 #endif
 #else
diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h
index 2bf67c0..141c561 100644
--- a/arch/x86/include/asm/elf.h
+++ b/arch/x86/include/asm/elf.h
@@ -78,7 +78,7 @@ typedef struct user_fxsr_struct elf_fpxregset_t;
 #ifdef CONFIG_X86_64
 extern unsigned int vdso64_enabled;
 #endif
-#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT)
+#if defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION)
 extern unsigned int vdso32_enabled;
 #endif
 
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

  parent reply	other threads:[~2015-06-22 11:56 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-22 11:55 [PATCH 00/12] x86/compat: Separate X32 from 32-bit compat Brian Gerst
2015-06-22 11:55 ` [PATCH 01/12] x86/compat: Move copy_siginfo_*_user32() to signal_compat.c Brian Gerst
2015-07-06 15:46   ` [tip:x86/asm] " tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 02/12] x86/compat: Make mmap_is_ia32() common compat Brian Gerst
2015-07-06 15:46   ` [tip:x86/asm] " tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 03/12] x86/compat: Move ucontext_x32 to sigframe.h Brian Gerst
2015-07-06 15:47   ` [tip:x86/asm] " tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 04/12] x86/compat: Rename start_thread_ia32 to compat_start_thread Brian Gerst
2015-07-06 15:47   ` [tip:x86/asm] x86/compat: Rename 'start_thread_ia32' to ' compat_start_thread' tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 05/12] x86/compat: Move ia32 compat code from compat_arch_ptrace() Brian Gerst
2015-07-06 15:47   ` [tip:x86/asm] x86/compat: Factor out " tip-bot for Brian Gerst
2015-06-22 11:55 ` Brian Gerst [this message]
2015-07-06 15:48   ` [tip:x86/asm] x86/compat: Don' t build the 32-bit VDSO if not needed tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 07/12] x86/compat: get_gate_vma should check for both 32-bit compat and x32 Brian Gerst
2015-06-22 16:19   ` Andy Lutomirski
2015-06-22 17:05     ` Brian Gerst
2015-06-22 17:12       ` Andy Lutomirski
2015-07-06 15:48   ` [tip:x86/asm] x86/compat: Check for both 32-bit compat and x32 in get_gate_vma() tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 08/12] x86/compat/perf: perf_callchain_user32 is only for 32-bit compat Brian Gerst
2015-07-06 15:48   ` [tip:x86/asm] x86/compat, x86/perf: Don' t build perf_callchain_user32() on x32 tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 09/12] x86/compat: Remove unneeded include Brian Gerst
2015-07-06 15:49   ` [tip:x86/asm] x86/compat: Remove unneeded #include tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 10/12] x86/compat: define ARCH_WANT_OLD_COMPAT_IPC only for 32-bit compat Brian Gerst
2015-07-06 15:49   ` [tip:x86/asm] x86/compat: Define " tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 11/12] x86/compat: clean up HAVE_UID16 config Brian Gerst
2015-07-06 15:49   ` [tip:x86/asm] x86/compat: Clean " tip-bot for Brian Gerst
2015-06-22 11:55 ` [PATCH 12/12] x86/compat: Separate ia32 and x32 compat ABIs Brian Gerst
2015-07-06 15:50   ` [tip:x86/asm] " tip-bot for Brian Gerst

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1434974121-32575-7-git-send-email-brgerst@gmail.com \
    --to=brgerst@gmail.com \
    --cc=dvlasenk@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mingo@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.