diff options
Diffstat (limited to 'arch/x86_64')
-rw-r--r-- | arch/x86_64/kernel/irq.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/mce.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/mce_amd.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/vsyscall.c | 2 |
4 files changed, 6 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c index 3bc30d2c13d3..3eaceac32481 100644 --- a/arch/x86_64/kernel/irq.c +++ b/arch/x86_64/kernel/irq.c | |||
@@ -32,7 +32,7 @@ atomic_t irq_err_count; | |||
32 | */ | 32 | */ |
33 | static inline void stack_overflow_check(struct pt_regs *regs) | 33 | static inline void stack_overflow_check(struct pt_regs *regs) |
34 | { | 34 | { |
35 | u64 curbase = (u64) current->thread_info; | 35 | u64 curbase = (u64)task_stack_page(current); |
36 | static unsigned long warned = -60*HZ; | 36 | static unsigned long warned = -60*HZ; |
37 | 37 | ||
38 | if (regs->rsp >= curbase && regs->rsp <= curbase + THREAD_SIZE && | 38 | if (regs->rsp >= curbase && regs->rsp <= curbase + THREAD_SIZE && |
diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c index 442169640e45..a14375dd5425 100644 --- a/arch/x86_64/kernel/mce.c +++ b/arch/x86_64/kernel/mce.c | |||
@@ -720,9 +720,11 @@ mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | |||
720 | 720 | ||
721 | switch (action) { | 721 | switch (action) { |
722 | case CPU_ONLINE: | 722 | case CPU_ONLINE: |
723 | case CPU_ONLINE_FROZEN: | ||
723 | mce_create_device(cpu); | 724 | mce_create_device(cpu); |
724 | break; | 725 | break; |
725 | case CPU_DEAD: | 726 | case CPU_DEAD: |
727 | case CPU_DEAD_FROZEN: | ||
726 | mce_remove_device(cpu); | 728 | mce_remove_device(cpu); |
727 | break; | 729 | break; |
728 | } | 730 | } |
diff --git a/arch/x86_64/kernel/mce_amd.c b/arch/x86_64/kernel/mce_amd.c index d0bd5d66e103..03356e64f9c8 100644 --- a/arch/x86_64/kernel/mce_amd.c +++ b/arch/x86_64/kernel/mce_amd.c | |||
@@ -654,9 +654,11 @@ static int threshold_cpu_callback(struct notifier_block *nfb, | |||
654 | 654 | ||
655 | switch (action) { | 655 | switch (action) { |
656 | case CPU_ONLINE: | 656 | case CPU_ONLINE: |
657 | case CPU_ONLINE_FROZEN: | ||
657 | threshold_create_device(cpu); | 658 | threshold_create_device(cpu); |
658 | break; | 659 | break; |
659 | case CPU_DEAD: | 660 | case CPU_DEAD: |
661 | case CPU_DEAD_FROZEN: | ||
660 | threshold_remove_device(cpu); | 662 | threshold_remove_device(cpu); |
661 | break; | 663 | break; |
662 | default: | 664 | default: |
diff --git a/arch/x86_64/kernel/vsyscall.c b/arch/x86_64/kernel/vsyscall.c index dc32cef96195..51d4c6fa88c8 100644 --- a/arch/x86_64/kernel/vsyscall.c +++ b/arch/x86_64/kernel/vsyscall.c | |||
@@ -327,7 +327,7 @@ static int __cpuinit | |||
327 | cpu_vsyscall_notifier(struct notifier_block *n, unsigned long action, void *arg) | 327 | cpu_vsyscall_notifier(struct notifier_block *n, unsigned long action, void *arg) |
328 | { | 328 | { |
329 | long cpu = (long)arg; | 329 | long cpu = (long)arg; |
330 | if (action == CPU_ONLINE) | 330 | if (action == CPU_ONLINE || action == CPU_ONLINE_FROZEN) |
331 | smp_call_function_single(cpu, cpu_vsyscall_init, NULL, 0, 1); | 331 | smp_call_function_single(cpu, cpu_vsyscall_init, NULL, 0, 1); |
332 | return NOTIFY_DONE; | 332 | return NOTIFY_DONE; |
333 | } | 333 | } |