Re: [PATCH percpu/for-3.18-fixes] s390: fix machine check regression caused by the conversion from __get_cpu_var() to this_cpu_ptr()

From: Sebastian Ott
Date: Tue Dec 02 2014 - 12:32:41 EST


On Tue, 2 Dec 2014, Tejun Heo wrote:
> Sorry about the delay. Was on vacation.
>
> Patch applied to percpu/for-3.18-fixes w/ minor updates to the patch
> subject and description. Will push out to Linus soon.
>

I've seen that Martin took the patch and it's already in Linus' tree -
commit 2cb4a18262fd0108cb8abd875710c59d0aa66f1d

Regards,
Sebastian

> Thanks.
>
> arch/s390/kernel/nmi.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/arch/s390/kernel/nmi.c b/arch/s390/kernel/nmi.c
> index dd1c24c..3f51cf4 100644
> --- a/arch/s390/kernel/nmi.c
> +++ b/arch/s390/kernel/nmi.c
> @@ -54,12 +54,8 @@ void s390_handle_mcck(void)
> */
> local_irq_save(flags);
> local_mcck_disable();
> - /*
> - * Ummm... Does this make sense at all? Copying the percpu struct
> - * and then zapping it one statement later?
> - */
> - memcpy(&mcck, this_cpu_ptr(&cpu_mcck), sizeof(mcck));
> - memset(&mcck, 0, sizeof(struct mcck_struct));
> + mcck = *this_cpu_ptr(&cpu_mcck);
> + memset(this_cpu_ptr(&cpu_mcck), 0, sizeof(mcck));
> clear_cpu_flag(CIF_MCCK_PENDING);
> local_mcck_enable();
> local_irq_restore(flags);
> --
> 2.1.0
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/