Messages in this thread | | | Date | Mon, 4 Jun 2018 13:17:48 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: WARNING and PANIC in irq_matrix_free |
| |
On Mon, 4 Jun 2018, Dou Liyang wrote: > Here, why didn't we avoid this cleanup by > > diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c > index a75de0792942..0cc59646755f 100644 > --- a/arch/x86/kernel/apic/vector.c > +++ b/arch/x86/kernel/apic/vector.c > @@ -821,6 +821,9 @@ static void free_moved_vector(struct apic_chip_data > *apicd) > */ > WARN_ON_ONCE(managed); > > + if (!vector) > + return; > + > trace_vector_free_moved(apicd->irq, cpu, vector, managed); > irq_matrix_free(vector_matrix, cpu, vector, managed); > per_cpu(vector_irq, cpu)[vector] = VECTOR_UNUSED; > > Is there something I didn't consider with? ;-)
Well, that just prevents the warning, but the hlist is already corrupted. So you'd just cure the symptom ...
I'm about to send a patch series which addresses that. Just need to finish writing changelogs.
Thanks,
tglx
| |