#define PDA_STACKOFFSET (5*8)
- #endif /* ASM_X86__PDA_H */
+#define refresh_stack_canary() write_pda(stack_canary, current->stack_canary)
+
+ #endif /* _ASM_X86_PDA_H */
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
unsigned long address;
int write, si_code;
int fault;
+ unsigned long *stackend;
+
#ifdef CONFIG_X86_64
unsigned long flags;
+ int sig;
#endif
tsk = current;
#include <linux/tty.h>
#include <linux/proc_fs.h>
#include <linux/blkdev.h>
+ #include <trace/sched.h>
+#include <linux/magic.h>
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
*/
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);