From: Josh Triplett <josh@joshtriplett.org>
To: "H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
Kees Cook <keescook@chromium.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, x86@kernel.org,
xen-devel@lists.xenproject.org
Subject: [PATCH v4 00/10] x86: Support compiling out userspace IO (iopl and ioperm)
Date: Sun, 2 Nov 2014 09:31:22 -0800 [thread overview]
Message-ID: <cover.1414870871.git.josh@joshtriplett.org> (raw)
This patch series makes it possible to compile out the userspace IO system
calls, iopl and ioperm.
The first patch does some 32/64 unification in copy_thread to make subsequent
changes easier. The second patch simplifies the complex calculation of the TSS
segment limit, which also makes it easier to change in the last patch. Patches
3-9 introduce helpers to make it easier to compile out IO. The last patch adds
and uses the new CONFIG_X86_IOPORT to support compiling out userspace IO.
v3 had patches 3-10 as a single patch; v4 splits out the various helpers and
macros into separate patches, as requested by Thomas Gleixner.
I've verified that this compiles after each patch.
Josh Triplett (10):
x86: process: Unify 32-bit and 64-bit copy_thread I/O bitmap handling
x86: tss: Eliminate fragile calculation of TSS segment limit
x86: processor.h: Introduce macros to initialize IO fields of thread
and TSS
x86: paravirt: Wrap initialization of set_iopl_mask in a macro
x86: cpu: Add helper function unifying 32-bit and 64-bit IO init in
cpu_init
x86: process: Introduce helper to clear a thread's IO bitmap
x86: process: Introduce helper to switch iopl mask
x86: process: Introduce helper for IO-related bits of exit_thread
x86: process: Introduce helper to switch IO bitmap
x86: Support compiling out userspace IO (iopl and ioperm)
arch/x86/Kconfig | 10 ++++
arch/x86/include/asm/desc.h | 11 +----
arch/x86/include/asm/paravirt.h | 2 +
arch/x86/include/asm/paravirt_types.h | 5 ++
arch/x86/include/asm/processor.h | 55 +++++++++++++++++----
arch/x86/include/asm/syscalls.h | 3 ++
arch/x86/kernel/Makefile | 3 +-
arch/x86/kernel/cpu/common.c | 12 +----
arch/x86/kernel/entry_64.S | 9 ++--
arch/x86/kernel/paravirt.c | 2 +-
arch/x86/kernel/process-io.h | 93 +++++++++++++++++++++++++++++++++++
arch/x86/kernel/process.c | 34 ++-----------
arch/x86/kernel/process_32.c | 41 +++++----------
arch/x86/kernel/process_64.c | 27 +++-------
arch/x86/kernel/ptrace.c | 8 +++
arch/x86/xen/enlighten.c | 4 +-
drivers/tty/vt/vt_ioctl.c | 2 +-
kernel/sys_ni.c | 5 ++
18 files changed, 208 insertions(+), 118 deletions(-)
create mode 100644 arch/x86/kernel/process-io.h
--
2.1.1
next reply other threads:[~2014-11-02 17:31 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-02 17:31 Josh Triplett [this message]
2014-11-02 17:31 ` [PATCH v4 01/10] x86: process: Unify 32-bit and 64-bit copy_thread I/O bitmap handling Josh Triplett
2014-11-02 17:31 ` Josh Triplett
2014-11-02 17:32 ` [PATCH v4 02/10] x86: tss: Eliminate fragile calculation of TSS segment limit Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` [PATCH v4 03/10] x86: processor.h: Introduce macros to initialize IO fields of thread and TSS Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` [PATCH v4 04/10] x86: paravirt: Wrap initialization of set_iopl_mask in a macro Josh Triplett
2014-12-01 15:37 ` Konrad Rzeszutek Wilk
2014-12-01 15:37 ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-12-01 15:37 ` Konrad Rzeszutek Wilk
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` [PATCH v4 05/10] x86: cpu: Add helper function unifying 32-bit and 64-bit IO init in cpu_init Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` [PATCH v4 06/10] x86: process: Introduce helper to clear a thread's IO bitmap Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` [PATCH v4 07/10] x86: process: Introduce helper to switch iopl mask Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` [PATCH v4 08/10] x86: process: Introduce helper for IO-related bits of exit_thread Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` [PATCH v4 09/10] x86: process: Introduce helper to switch IO bitmap Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:32 ` Josh Triplett
2014-11-02 17:33 ` [PATCH v4 10/10] x86: Support compiling out userspace IO (iopl and ioperm) Josh Triplett
2014-11-02 17:33 ` Josh Triplett
2014-11-02 17:33 ` Josh Triplett
2014-11-03 12:10 ` One Thousand Gnomes
2014-11-03 14:13 ` Josh Triplett
2014-11-03 14:13 ` Josh Triplett
2014-11-03 15:27 ` One Thousand Gnomes
2014-11-03 16:45 ` josh
2014-11-03 16:45 ` josh
2014-11-03 19:26 ` Andy Lutomirski
2014-11-03 19:26 ` Andy Lutomirski
2014-11-03 15:27 ` One Thousand Gnomes
2014-11-03 12:10 ` One Thousand Gnomes
-- strict thread matches above, loose matches on Subject: below --
2014-11-02 17:31 [PATCH v4 00/10] " Josh Triplett
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=cover.1414870871.git.josh@joshtriplett.org \
--to=josh@joshtriplett.org \
--cc=hpa@zytor.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=virtualization@lists.linux-foundation.org \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.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.