Messages in this thread Patch in this message | | | Date | Thu, 24 Sep 2020 10:29:57 +0100 | From | Marc Zyngier <> | Subject | Re: [PATCH v3 16/16] ARM: Remove custom IRQ stat accounting |
| |
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).
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.
-- Without deviation from the norm, progress is not possible.
| |