lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 22 Oct 2020 17:22:52 +0530 From: Sumit Garg <sumit.garg@...aro.org> To: Marc Zyngier <maz@...nel.org> Cc: Catalin Marinas <catalin.marinas@....com>, Will Deacon <will@...nel.org>, linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>, Thomas Gleixner <tglx@...utronix.de>, Jason Cooper <jason@...edaemon.net>, Mark Rutland <mark.rutland@....com>, julien.thierry.kdev@...il.com, Douglas Anderson <dianders@...omium.org>, Daniel Thompson <daniel.thompson@...aro.org>, Jason Wessel <jason.wessel@...driver.com>, Masayoshi Mizuma <msys.mizuma@...il.com>, ito-yuichi@...itsu.com, kgdb-bugreport@...ts.sourceforge.net, Linux Kernel Mailing List <linux-kernel@...r.kernel.org> Subject: Re: [PATCH v5 1/5] arm64: Add framework to turn IPI as NMI On Wed, 21 Oct 2020 at 15:57, Marc Zyngier <maz@...nel.org> wrote: > > On 2020-10-20 12:22, Sumit Garg wrote: > > On Tue, 20 Oct 2020 at 15:38, Marc Zyngier <maz@...nel.org> wrote: > >> > >> On 2020-10-20 07:43, Sumit Garg wrote: > >> > On Mon, 19 Oct 2020 at 17:07, Marc Zyngier <maz@...nel.org> wrote: > >> > >> [...] > >> > >> >> > +{ > >> >> > + if (!ipi_desc) > >> >> > + return; > >> >> > + > >> >> > + if (is_nmi) { > >> >> > + if (!prepare_percpu_nmi(ipi_id)) > >> >> > + enable_percpu_nmi(ipi_id, IRQ_TYPE_NONE); > >> >> > + } else { > >> >> > + enable_percpu_irq(ipi_id, IRQ_TYPE_NONE); > >> >> > >> >> I'm not keen on this. Normal IRQs can't reliably work, so why do you > >> >> even bother with this? > >> > > >> > Yeah I agree but we need to support existing functionality for kgdb > >> > roundup and sysrq backtrace using normal IRQs as well. > >> > >> When has this become a requirement? I don't really see the point in > >> implementing something that is known not to work. > >> > > > > For kgdb: > > > > Default implementation [1] uses smp_call_function_single_async() which > > in turn will invoke IPI as a normal IRQ to roundup CPUs. > > > > [1] > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/debug/debug_core.c#n244 > > > > For sysrq backtrace: > > > > Default implementation [2] fallbacks to smp_call_function() (IPI as a > > normal IRQ) to print backtrace in case architecture doesn't provide > > arch_trigger_cpumask_backtrace() hook. > > > > [2] > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/sysrq.c#n250 > > > > So in general, IPI as a normal IRQ is still useful for debugging but > > it can't debug a core which is stuck in deadlock with interrupts > > disabled. > > And that's not something we implement today for good reasons: > it *cannot* work reliably. What changed that we all of a sudden need it? > > > And since we choose override default implementations for pseudo NMI > > support, we need to be backwards compatible for platforms which don't > > possess pseudo NMI support. > > No. There is nothing to be "backward compatible" with, because > - this isn't a userspace visible feature > - *it doesn't work* > > So please drop this non-feature from this series. > Okay, fair enough. I will drop support for new IPI being normal IRQ and instead update sysrq backtrace and kgdb roundup frameworks to use existing cross-calls stuff in case a platform doesn't possess pseudo NMI support. -Sumit > M. > -- > Jazz is not dead. It just smells funny...
Powered by blists - more mailing lists