|
@@ -22,6 +22,7 @@
|
|
#include <linux/ftrace.h>
|
|
#include <linux/ftrace.h>
|
|
#include <linux/hw_breakpoint.h>
|
|
#include <linux/hw_breakpoint.h>
|
|
#include <linux/prefetch.h>
|
|
#include <linux/prefetch.h>
|
|
|
|
+#include <linux/stackprotector.h>
|
|
#include <asm/uaccess.h>
|
|
#include <asm/uaccess.h>
|
|
#include <asm/mmu_context.h>
|
|
#include <asm/mmu_context.h>
|
|
#include <asm/fpu.h>
|
|
#include <asm/fpu.h>
|
|
@@ -220,6 +221,10 @@ __switch_to(struct task_struct *prev, struct task_struct *next)
|
|
{
|
|
{
|
|
struct thread_struct *next_t = &next->thread;
|
|
struct thread_struct *next_t = &next->thread;
|
|
|
|
|
|
|
|
+#if defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_SMP)
|
|
|
|
+ __stack_chk_guard = next->stack_canary;
|
|
|
|
+#endif
|
|
|
|
+
|
|
unlazy_fpu(prev, task_pt_regs(prev));
|
|
unlazy_fpu(prev, task_pt_regs(prev));
|
|
|
|
|
|
/* we're going to use this soon, after a few expensive things */
|
|
/* we're going to use this soon, after a few expensive things */
|