stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Patch "powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes" has been added to the 3.19-stable tree
@ 2015-05-02 16:55 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2015-05-02 16:55 UTC (permalink / raw)
  To: mpe, gregkh; +Cc: stable, stable-commits


This is a note to let you know that I've just added the patch titled

    powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes

to the 3.19-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     powerpc-cell-fix-crash-in-iic_setup_cpu-after-per_cpu-changes.patch
and it can be found in the queue-3.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From b0dd00addc5035f87ec9c5820dacc1ebc7fcb3e6 Mon Sep 17 00:00:00 2001
From: Michael Ellerman <mpe@ellerman.id.au>
Date: Fri, 3 Apr 2015 14:11:53 +1100
Subject: powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes

From: Michael Ellerman <mpe@ellerman.id.au>

commit b0dd00addc5035f87ec9c5820dacc1ebc7fcb3e6 upstream.

The conversion from __get_cpu_var() to this_cpu_ptr() in iic_setup_cpu()
is wrong. It causes an oops at boot.

We need the per-cpu address of struct cpu_iic, not cpu_iic.regs->prio.

Sparse noticed this, because we pass a non-iomem pointer to out_be64(),
but we obviously don't check the sparse results often enough.

Fixes: 69111bac42f5 ("powerpc: Replace __get_cpu_var uses")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/powerpc/platforms/cell/interrupt.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/powerpc/platforms/cell/interrupt.c
+++ b/arch/powerpc/platforms/cell/interrupt.c
@@ -163,7 +163,7 @@ static unsigned int iic_get_irq(void)
 
 void iic_setup_cpu(void)
 {
-	out_be64(this_cpu_ptr(&cpu_iic.regs->prio), 0xff);
+	out_be64(&this_cpu_ptr(&cpu_iic)->regs->prio, 0xff);
 }
 
 u8 iic_get_target_id(int cpu)


Patches currently in stable-queue which might be from mpe@ellerman.id.au are

queue-3.19/powerpc-cell-fix-crash-in-iic_setup_cpu-after-per_cpu-changes.patch
queue-3.19/powerpc-perf-cap-64bit-userspace-backtraces-to-perf_max_stack_depth.patch
queue-3.19/powerpc-jump_label-include-linux-jump_label.h-to-get-have_jump_label-define.patch
queue-3.19/powerpc-fix-missing-l2-cache-size-in-sys-devices-system-cpu.patch
queue-3.19/powerpc-cell-fix-cell-iommu-after-it_page_shift-changes.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-05-02 16:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-02 16:55 Patch "powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes" has been added to the 3.19-stable tree gregkh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).