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(-)