[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190506102742.GA119840@gmail.com>
Date: Mon, 6 May 2019 12:27:42 +0200
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>,
"H. Peter Anvin" <hpa@...or.com>
Subject: [GIT PULL] x86/irq changes for v5.2
Linus,
Please pull the latest x86-irq-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-irq-for-linus
# HEAD: 2c4645439e8f2f6e7c37f158feae6f6a82baa910 x86/irq: Fix outdated comments
Here are the main changes in this tree:
- Introduce x86-64 IRQ/exception/debug stack guard pages to detect stack
overflows immediately and deterministically.
- Clean up over a decade worth of cruft accumulated.
The outcome of this feature should be more clear-cut faults/crashes when
any of the low level x86 CPU stacks overflow, instead of silent memory
corruption and sporadic failures much later on.
out-of-topic modifications in x86-irq-for-linus:
--------------------------------------------------
mm/slab.c # 80552f0f7aeb: mm/slab: Remove store_stacki
Thanks,
Ingo
------------------>
Andy Lutomirski (4):
x86/dumpstack: Fix off-by-one errors in stack identification
x86/irq/64: Remove a hardcoded irq_stack_union access
x86/irq/64: Split the IRQ stack into its own pages
x86/irq/64: Remap the IRQ stack with guard pages
Jiang Biao (1):
x86/irq: Fix outdated comments
Qian Cai (1):
mm/slab: Remove store_stackinfo()
Thomas Gleixner (27):
x86/irq/64: Limit IST stack overflow check to #DB stack
x86/irq/64: Sanitize the top/bottom confusion
x86/idt: Remove unused macro SISTG
x86/64: Remove stale CURRENT_MASK
x86/exceptions: Remove unused stack defines on 32bit
x86/exceptions: Make IST index zero based
x86/cpu_entry_area: Cleanup setup functions
x86/exceptions: Add structs for exception stacks
x86/cpu_entry_area: Prepare for IST guard pages
x86/cpu_entry_area: Provide exception stack accessor
x86/traps: Use cpu_entry_area instead of orig_ist
x86/irq/64: Use cpu entry area instead of orig_ist
x86/dumpstack/64: Use cpu_entry_area instead of orig_ist
x86/cpu: Prepare TSS.IST setup for guard pages
x86/cpu: Remove orig_ist array
x86/exceptions: Disconnect IST index and stack order
x86/exceptions: Enable IST guard pages
x86/exceptions: Split debug IST stack
x86/dumpstack/64: Speedup in_exception_stack()
x86/irq/32: Define IRQ_STACK_SIZE
x86/irq/32: Make irq stack a character array
x86/irq/32: Rename hard/softirq_stack to hard/softirq_stack_ptr
x86/irq/64: Rename irq_stack_ptr to hardirq_stack_ptr
x86/irq/32: Invoke irq_ctx_init() from init_IRQ()
x86/irq/32: Handle irq stack allocation failure proper
x86/irq/64: Init hardirq_stack_ptr during CPU hotplug
x86/irq/64: Remove stack overflow debug code
Documentation/x86/kernel-stacks | 13 +++--
arch/x86/Kconfig | 2 +-
arch/x86/entry/entry_64.S | 16 +++---
arch/x86/include/asm/cpu_entry_area.h | 69 ++++++++++++++++++++++--
arch/x86/include/asm/debugreg.h | 2 -
arch/x86/include/asm/irq.h | 6 +--
arch/x86/include/asm/irq_vectors.h | 4 +-
arch/x86/include/asm/page_32_types.h | 8 ++-
arch/x86/include/asm/page_64_types.h | 16 +++---
arch/x86/include/asm/processor.h | 43 ++++++---------
arch/x86/include/asm/smp.h | 2 +-
arch/x86/include/asm/stackprotector.h | 6 +--
arch/x86/include/asm/stacktrace.h | 2 +
arch/x86/kernel/asm-offsets_64.c | 4 +-
arch/x86/kernel/cpu/common.c | 60 ++++-----------------
arch/x86/kernel/dumpstack_32.c | 8 +--
arch/x86/kernel/dumpstack_64.c | 99 ++++++++++++++++++++++++-----------
arch/x86/kernel/head_64.S | 2 +-
arch/x86/kernel/idt.c | 19 ++++---
arch/x86/kernel/irq_32.c | 41 ++++++++-------
arch/x86/kernel/irq_64.c | 89 +++++++++++++++----------------
arch/x86/kernel/irqinit.c | 4 +-
arch/x86/kernel/nmi.c | 20 ++++++-
arch/x86/kernel/setup_percpu.c | 5 --
arch/x86/kernel/smpboot.c | 15 ++++--
arch/x86/kernel/vmlinux.lds.S | 7 +--
arch/x86/mm/cpu_entry_area.c | 64 +++++++++++++++-------
arch/x86/mm/fault.c | 3 +-
arch/x86/tools/relocs.c | 2 +-
arch/x86/xen/smp_pv.c | 4 +-
arch/x86/xen/xen-head.S | 10 ++--
drivers/xen/events/events_base.c | 1 -
mm/slab.c | 48 +++--------------
33 files changed, 377 insertions(+), 317 deletions(-)
Powered by blists - more mailing lists