Messages in this thread | | | Subject | Re: [PATCH v3 16/16] ARM: Remove custom IRQ stat accounting | From | Guillaume Tucker <> | Date | Thu, 24 Sep 2020 14:09:06 +0100 |
| |
On 24/09/2020 10:29, Marc Zyngier wrote: > Hi Guillaume, > > On Thu, 24 Sep 2020 10:00:09 +0100, > Guillaume Tucker <guillaume.tucker@collabora.com> wrote: >> >> Hi Marc, >> >> On 01/09/2020 15:43, Marc Zyngier wrote: >>> Let's switch the arm code to the core accounting, which already >>> does everything we need. >>> >>> Reviewed-by: Valentin Schneider <valentin.schneider@arm.com> >>> Signed-off-by: Marc Zyngier <maz@kernel.org> >>> --- >>> arch/arm/include/asm/hardirq.h | 17 ----------------- >>> arch/arm/kernel/smp.c | 20 ++++---------------- >>> 2 files changed, 4 insertions(+), 33 deletions(-) >> >> This appears to be causing a NULL pointer dereference on >> beaglebone-black, it got bisected automatically several times. >> None of the other platforms in the KernelCI labs appears to be >> affected. > > Hmm. My bet is that because this is a UP machine running an SMP > kernel, and I fell into the trap of forgetting about this 32bit > configuration. > > I expect the following patch to fix it. Please give it a go if you can > (I'm away at the moment and can't test much, and do not have any > physical 32bit machine to test this on).
OK thanks, that worked:
https://lava.baylibre.com/scheduler/job/143170
I've added this fix to the kernel branch used on staging.kernelci.org which is based on linux-next, so it will get fully verified a bit later today.
Guillaume
> diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c > index 00327fa74b01..b4e3d336dc33 100644 > --- a/arch/arm/kernel/smp.c > +++ b/arch/arm/kernel/smp.c > @@ -531,7 +531,12 @@ void show_ipi_list(struct seq_file *p, int prec) > unsigned int cpu, i; > > for (i = 0; i < NR_IPI; i++) { > - unsigned int irq = irq_desc_get_irq(ipi_desc[i]); > + unsigned int irq; > + > + if (!ipi_desc[i]) > + continue; > + > + irq = irq_desc_get_irq(ipi_desc[i]); > seq_printf(p, "%*s%u: ", prec - 1, "IPI", i); > > for_each_online_cpu(cpu) > > Thanks, > > M. >
| |