From: Ingo Molnar Date: Wed, 31 Dec 2008 07:31:57 +0000 (+0100) Subject: Merge branch 'linus' into stackprotector X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=a9de18eb761f7c1c860964b2e5addc1a35c7e861;p=linux-2.6-omap-h63xx.git Merge branch 'linus' into stackprotector Conflicts: arch/x86/include/asm/pda.h kernel/fork.c --- a9de18eb761f7c1c860964b2e5addc1a35c7e861 diff --cc arch/x86/include/asm/pda.h index 45fd2aee8d6,2fbfff88df3..3fea2fdb330 --- a/arch/x86/include/asm/pda.h +++ b/arch/x86/include/asm/pda.h @@@ -132,6 -134,4 +132,6 @@@ do { #define PDA_STACKOFFSET (5*8) +#define refresh_stack_canary() write_pda(stack_canary, current->stack_canary) + - #endif /* ASM_X86__PDA_H */ + #endif /* _ASM_X86_PDA_H */ diff --cc arch/x86/kernel/Makefile index 50632e16d01,d364df03c1d..eb074530c7d --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile @@@ -21,11 -23,10 +23,11 @@@ nostackp := $(call cc-option, -fno-stac CFLAGS_vsyscall_64.o := $(PROFILING) -g0 $(nostackp) CFLAGS_hpet.o := $(nostackp) CFLAGS_tsc.o := $(nostackp) +CFLAGS_paravirt.o := $(nostackp) - obj-y := process_$(BITS).o signal_$(BITS).o entry_$(BITS).o - obj-y += traps.o irq_$(BITS).o dumpstack_$(BITS).o - obj-y += time_$(BITS).o ioport.o ldt.o + obj-y := process_$(BITS).o signal.o entry_$(BITS).o + obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o + obj-y += time_$(BITS).o ioport.o ldt.o dumpstack.o obj-y += setup.o i8259.o irqinit_$(BITS).o setup_percpu.o obj-$(CONFIG_X86_VISWS) += visws_quirks.o obj-$(CONFIG_X86_32) += probe_roms_32.o diff --cc arch/x86/mm/fault.c index d18ea136d8a,57ec8c86a87..4c056b5d6a9 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@@ -589,10 -589,9 +590,11 @@@ void __kprobes do_page_fault(struct pt_ unsigned long address; int write, si_code; int fault; + unsigned long *stackend; + #ifdef CONFIG_X86_64 unsigned long flags; + int sig; #endif tsk = current; diff --cc kernel/fork.c index 99c5c655b09,43cbf30669e..913284e3db1 --- a/kernel/fork.c +++ b/kernel/fork.c @@@ -58,7 -60,7 +60,8 @@@ #include #include #include + #include +#include #include #include diff --cc kernel/panic.c index e0a87bb025c,13f06349a78..3a0b0898690 --- a/kernel/panic.c +++ b/kernel/panic.c @@@ -357,9 -359,10 +367,12 @@@ EXPORT_SYMBOL(warn_slowpath) */ void __stack_chk_fail(void) { - panic("stack-protector: Kernel stack is corrupted"); + panic("stack-protector: Kernel stack is corrupted in: %p\n", + __builtin_return_address(0)); } EXPORT_SYMBOL(__stack_chk_fail); + #endif + + core_param(panic, panic_timeout, int, 0644); + core_param(pause_on_oops, pause_on_oops, int, 0644);