[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1806041316020.2646@nanos.tec.linutronix.de>
Date: Mon, 4 Jun 2018 13:17:48 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Dou Liyang <douly.fnst@...fujitsu.com>
cc: Song Liu <songliubraving@...com>,
Song Liu <liu.song.a23@...il.com>,
Tariq Toukan <tariqt@...lanox.com>,
Dmitry Safonov <0x7f454c46@...il.com>,
open list <linux-kernel@...r.kernel.org>,
Maor Gottlieb <maorg@...lanox.com>,
Kernel Team <Kernel-team@...com>
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
Powered by blists - more mailing lists