Loading arch/mips/kernel/process.c +14 −0 Original line number Diff line number Diff line Loading @@ -25,7 +25,9 @@ #include <linux/init.h> #include <linux/completion.h> #include <linux/kallsyms.h> #include <linux/random.h> #include <asm/asm.h> #include <asm/bootinfo.h> #include <asm/cpu.h> #include <asm/dsp.h> Loading Loading @@ -460,3 +462,15 @@ unsigned long get_wchan(struct task_struct *task) out: return pc; } /* * Don't forget that the stack pointer must be aligned on a 8 bytes * boundary for 32-bits ABI and 16 bytes for 64-bits ABI. */ unsigned long arch_align_stack(unsigned long sp) { if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) sp -= get_random_int() & ~PAGE_MASK; return sp & ALMASK; } include/asm-mips/system.h +1 −1 Original line number Diff line number Diff line Loading @@ -470,6 +470,6 @@ extern int stop_a_enabled; */ #define __ARCH_WANT_UNLOCKED_CTXSW #define arch_align_stack(x) (x) extern unsigned long arch_align_stack(unsigned long sp); #endif /* _ASM_SYSTEM_H */ Loading
arch/mips/kernel/process.c +14 −0 Original line number Diff line number Diff line Loading @@ -25,7 +25,9 @@ #include <linux/init.h> #include <linux/completion.h> #include <linux/kallsyms.h> #include <linux/random.h> #include <asm/asm.h> #include <asm/bootinfo.h> #include <asm/cpu.h> #include <asm/dsp.h> Loading Loading @@ -460,3 +462,15 @@ unsigned long get_wchan(struct task_struct *task) out: return pc; } /* * Don't forget that the stack pointer must be aligned on a 8 bytes * boundary for 32-bits ABI and 16 bytes for 64-bits ABI. */ unsigned long arch_align_stack(unsigned long sp) { if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) sp -= get_random_int() & ~PAGE_MASK; return sp & ALMASK; }
include/asm-mips/system.h +1 −1 Original line number Diff line number Diff line Loading @@ -470,6 +470,6 @@ extern int stop_a_enabled; */ #define __ARCH_WANT_UNLOCKED_CTXSW #define arch_align_stack(x) (x) extern unsigned long arch_align_stack(unsigned long sp); #endif /* _ASM_SYSTEM_H */