Message ID | 20201128070728.825934-2-npiggin@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | a1ee28117077c3bf24e5ab6324c835eaab629c45 |
Headers | show |
Series | powerpc/64s: fix and improve machine check handling | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (2551450071df2dabd7134e548ac209688ac6741d) |
snowpatch_ozlabs/checkpatch | warning | total: 0 errors, 0 warnings, 1 checks, 18 lines checked |
snowpatch_ozlabs/needsstable | warning | Please consider tagging this patch for stable! |
On 2020-11-28 17:07:21 Sat, Nicholas Piggin wrote: > This can be hit by an HPT guest running on an HPT host and bring down > the host, so it's quite important to fix. > > Fixes: 7290f3b3d3e66 ("powerpc/64s/powernv: machine check dump SLB contents") > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > --- > arch/powerpc/platforms/powernv/setup.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c > index 46115231a3b2..4426a109ec2f 100644 > --- a/arch/powerpc/platforms/powernv/setup.c > +++ b/arch/powerpc/platforms/powernv/setup.c > @@ -211,11 +211,16 @@ static void __init pnv_init(void) > add_preferred_console("hvc", 0, NULL); > > if (!radix_enabled()) { > + size_t size = sizeof(struct slb_entry) * mmu_slb_size; Acked-by: Mahesh Salgaonkar <mahesh@linux.ibm.com> Thanks, -Mahesh. > int i; > > /* Allocate per cpu area to save old slb contents during MCE */ > - for_each_possible_cpu(i) > - paca_ptrs[i]->mce_faulty_slbs = memblock_alloc_node(mmu_slb_size, __alignof__(*paca_ptrs[i]->mce_faulty_slbs), cpu_to_node(i)); > + for_each_possible_cpu(i) { > + paca_ptrs[i]->mce_faulty_slbs = > + memblock_alloc_node(size, > + __alignof__(struct slb_entry), > + cpu_to_node(i)); > + } > } > } > > -- > 2.23.0 >
diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c index 46115231a3b2..4426a109ec2f 100644 --- a/arch/powerpc/platforms/powernv/setup.c +++ b/arch/powerpc/platforms/powernv/setup.c @@ -211,11 +211,16 @@ static void __init pnv_init(void) add_preferred_console("hvc", 0, NULL); if (!radix_enabled()) { + size_t size = sizeof(struct slb_entry) * mmu_slb_size; int i; /* Allocate per cpu area to save old slb contents during MCE */ - for_each_possible_cpu(i) - paca_ptrs[i]->mce_faulty_slbs = memblock_alloc_node(mmu_slb_size, __alignof__(*paca_ptrs[i]->mce_faulty_slbs), cpu_to_node(i)); + for_each_possible_cpu(i) { + paca_ptrs[i]->mce_faulty_slbs = + memblock_alloc_node(size, + __alignof__(struct slb_entry), + cpu_to_node(i)); + } } }
This can be hit by an HPT guest running on an HPT host and bring down the host, so it's quite important to fix. Fixes: 7290f3b3d3e66 ("powerpc/64s/powernv: machine check dump SLB contents") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- arch/powerpc/platforms/powernv/setup.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)