[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191125161626.GA956@gmail.com>
Date: Mon, 25 Nov 2019 17:16:26 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Borislav Petkov <bp@...en8.de>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Andrew Morton <akpm@...ux-foundation.org>,
Andy Lutomirski <luto@...nel.org>
Subject: [GIT PULL] x86/iopl changes for v5.5
Linus,
Please pull the latest x86-iopl-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-iopl-for-linus
# HEAD: e3cb0c7102f04c83bf1a7cb1d052e92749310b46 x86/ioperm: Fix use of deprecated config option
This tree implements a nice simplification of the iopl and ioperm code
that Thomas Gleixner discovered: we can implement the IO privilege
features of the iopl system call by using the IO permission bitmap in
permissive mode, while trapping CLI/STI/POPF/PUSHF uses in user-space if
they change the interrupt flag.
This tree implements that feature, with testing facilities and related
cleanups.
Thanks,
Ingo
------------------>
Alexander Duyck (1):
x86/ioperm: Fix use of deprecated config option
Thomas Gleixner (21):
x86/ptrace: Prevent truncation of bitmap size
x86/process: Unify copy_thread_tls()
x86/cpu: Unify cpu_init()
x86/tss: Fix and move VMX BUILD_BUG_ON()
x86/iopl: Cleanup include maze
x86/ioperm: Simplify first ioperm() invocation logic
x86/ioperm: Avoid bitmap allocation if no permissions are set
x86/io: Speedup schedule out of I/O bitmap user
x86/tss: Move I/O bitmap data into a seperate struct
x86/ioperm: Move iobitmap data into a struct
x86/ioperm: Add bitmap sequence number
x86/ioperm: Move TSS bitmap update to exit to user work
x86/ioperm: Remove bitmap if all permissions dropped
x86/ioperm: Share I/O bitmap if identical
selftests/x86/ioperm: Extend testing so the shared bitmap is exercised
x86/iopl: Fixup misleading comment
x86/iopl: Restrict iopl() permission scope
x86/iopl: Remove legacy IOPL option
x86/ioperm: Extend IOPL config to control ioperm() as well
selftests/x86/iopl: Extend test to cover IOPL emulation
x86/entry/32: Clarify register saving in __switch_to_asm()
arch/x86/Kconfig | 18 +++
arch/x86/entry/common.c | 4 +
arch/x86/entry/entry_32.S | 8 +-
arch/x86/include/asm/io_bitmap.h | 29 +++++
arch/x86/include/asm/paravirt.h | 4 -
arch/x86/include/asm/paravirt_types.h | 2 -
arch/x86/include/asm/pgtable_32_types.h | 2 +-
arch/x86/include/asm/processor.h | 113 ++++++++++-------
arch/x86/include/asm/ptrace.h | 6 +
arch/x86/include/asm/switch_to.h | 10 ++
arch/x86/include/asm/thread_info.h | 14 ++-
arch/x86/include/asm/xen/hypervisor.h | 2 -
arch/x86/kernel/cpu/common.c | 188 ++++++++++++----------------
arch/x86/kernel/doublefault.c | 2 +-
arch/x86/kernel/ioport.c | 209 +++++++++++++++++++++-----------
arch/x86/kernel/paravirt.c | 2 -
arch/x86/kernel/process.c | 205 ++++++++++++++++++++++++-------
arch/x86/kernel/process_32.c | 77 ------------
arch/x86/kernel/process_64.c | 86 -------------
arch/x86/kernel/ptrace.c | 12 +-
arch/x86/kvm/vmx/vmx.c | 8 --
arch/x86/mm/cpu_entry_area.c | 8 ++
arch/x86/xen/enlighten_pv.c | 10 --
tools/testing/selftests/x86/ioperm.c | 16 ++-
tools/testing/selftests/x86/iopl.c | 129 ++++++++++++++++++--
25 files changed, 686 insertions(+), 478 deletions(-)
create mode 100644 arch/x86/include/asm/io_bitmap.h
Powered by blists - more mailing lists