diff options
Diffstat (limited to 'arch/s390/kernel/smp.c')
-rw-r--r-- | arch/s390/kernel/smp.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 818bd09c0260..8f894d380a62 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -629,14 +629,8 @@ static int __cpuinit smp_alloc_lowcore(int cpu) | |||
629 | panic_stack = __get_free_page(GFP_KERNEL); | 629 | panic_stack = __get_free_page(GFP_KERNEL); |
630 | if (!panic_stack || !async_stack) | 630 | if (!panic_stack || !async_stack) |
631 | goto out; | 631 | goto out; |
632 | /* | 632 | memcpy(lowcore, &S390_lowcore, 512); |
633 | * Only need to copy the first 512 bytes from address 0. But since | 633 | memset((char *)lowcore + 512, 0, sizeof(*lowcore) - 512); |
634 | * the compiler emits a warning if src == NULL for memcpy use copy_page | ||
635 | * instead. Copies more than needed but this code is not performance | ||
636 | * critical. | ||
637 | */ | ||
638 | copy_page(lowcore, &S390_lowcore); | ||
639 | memset((void *)lowcore + 512, 0, sizeof(*lowcore) - 512); | ||
640 | lowcore->async_stack = async_stack + ASYNC_SIZE; | 634 | lowcore->async_stack = async_stack + ASYNC_SIZE; |
641 | lowcore->panic_stack = panic_stack + PAGE_SIZE; | 635 | lowcore->panic_stack = panic_stack + PAGE_SIZE; |
642 | 636 | ||