diff options
Diffstat (limited to 'arch/csky')
| -rw-r--r-- | arch/csky/include/asm/stackprotector.h | 10 | ||||
| -rw-r--r-- | arch/csky/kernel/process.c | 4 |
2 files changed, 3 insertions, 11 deletions
diff --git a/arch/csky/include/asm/stackprotector.h b/arch/csky/include/asm/stackprotector.h index d7cd4e51edd9..d23747447166 100644 --- a/arch/csky/include/asm/stackprotector.h +++ b/arch/csky/include/asm/stackprotector.h @@ -2,9 +2,6 @@ #ifndef _ASM_STACKPROTECTOR_H #define _ASM_STACKPROTECTOR_H 1 -#include <linux/random.h> -#include <linux/version.h> - extern unsigned long __stack_chk_guard; /* @@ -15,12 +12,7 @@ extern unsigned long __stack_chk_guard; */ static __always_inline void boot_init_stack_canary(void) { - unsigned long canary; - - /* Try to get a semi random initial value. */ - get_random_bytes(&canary, sizeof(canary)); - canary ^= LINUX_VERSION_CODE; - canary &= CANARY_MASK; + unsigned long canary = get_random_canary(); current->stack_canary = canary; __stack_chk_guard = current->stack_canary; diff --git a/arch/csky/kernel/process.c b/arch/csky/kernel/process.c index eedddb155669..2b0ed515a88e 100644 --- a/arch/csky/kernel/process.c +++ b/arch/csky/kernel/process.c @@ -9,6 +9,7 @@ #include <linux/kallsyms.h> #include <linux/uaccess.h> #include <linux/ptrace.h> +#include <linux/elfcore.h> #include <asm/elf.h> #include <abi/reg_ops.h> @@ -69,12 +70,11 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args) } /* Fill in the fpu structure for a core dump. */ -int dump_fpu(struct pt_regs *regs, struct user_fp *fpu) +int elf_core_copy_task_fpregs(struct task_struct *t, elf_fpregset_t *fpu) { memcpy(fpu, ¤t->thread.user_fp, sizeof(*fpu)); return 1; } -EXPORT_SYMBOL(dump_fpu); int dump_task_regs(struct task_struct *tsk, elf_gregset_t *pr_regs) { |