Skip to contentSkip to conversation

Patch "powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes" has been added to the 4.0-stable tree

PATCH [email protected] 1 participant 1 message May 2, 2015

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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 4.0-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-4.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From b0dd00addc5035f87ec9c5820dacc1ebc7fcb3e6 Mon Sep 17 00:00:00 2001

From: Michael Ellerman <[email protected]>
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 <[email protected]>

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")
---
 arch/powerpc/platforms/cell/interrupt.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/platforms/cell/interrupt.c +1 -1
@@ -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 [email protected] are

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