From: sashiko-bot@kernel.org
To: "Mayank Rungta" <mrungta@google.com>
Cc: linux-watchdog@vger.kernel.org
Subject: Re: [PATCH v3 5/5] watchdog: qcom: Register pretimeout interrupt as NMI
Date: Thu, 03 Sep 2026 02:25:47 +0000 [thread overview]
Message-ID: <20260903022548.06A501F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260902-qcom-wdt-nmi-series-v3-5-f3999362a9ea@google.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Level-triggered bark interrupts will cause an infinite NMI storm and hard-lock the CPU.
--
commit 8f544329ecb4910dd7e00b39c0aabc3e32909823
Author: Mayank Rungta <mrungta@google.com>
Subject: watchdog: qcom: Register pretimeout interrupt as NMI
This commit modifies the qcom-wdt driver to attempt registering the watchdog
pretimeout bark interrupt as an NMI using request_nmi(). If NMI registration
is unsupported on the platform, it gracefully falls back to a standard
interrupt request.
> diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c
> index 4eb1bf9790125..2849dcb1f717c 100644
> --- a/drivers/watchdog/qcom-wdt.c
> +++ b/drivers/watchdog/qcom-wdt.c
[ ... ]
> @@ -311,10 +321,25 @@ static int qcom_wdt_probe(struct platform_device *pdev)
> if (irq < 0 && irq != -ENXIO)
> return irq;
> if (irq > 0) {
> - ret = devm_request_irq(dev, irq, qcom_wdt_isr, 0,
> - "wdt_bark", &wdt->wdd);
> - if (ret)
> - return ret;
> + wdt->irq = irq;
> + irq_flags = IRQF_PERCPU | IRQF_NOBALANCING |
> + IRQF_NO_AUTOEN | IRQF_NO_THREAD;
> +
> + ret = request_nmi(irq, qcom_wdt_isr, irq_flags,
> + "wdt_bark", &wdt->wdd);
[Severity: High]
Does requesting this interrupt as an NMI risk an infinite NMI storm on
platforms where the bark interrupt is level-triggered (e.g., QCS615 'talos',
QCM2290 'agatti', or 'shikra')?
Looking at qcom_wdt_isr(), the handler simply notifies the pretimeout and
returns without acknowledging or clearing the hardware interrupt line:
static irqreturn_t qcom_wdt_isr(int irq, void *arg)
{
struct watchdog_device *wdd = arg;
watchdog_notify_pretimeout(wdd);
return IRQ_HANDLED;
}
Since NMI handlers bypass the generic IRQ spurious interrupt protection that
would normally mask an unhandled level-triggered interrupt, will this cause
an immediate re-trigger upon return and hard-lock the CPU when the
pretimeout is reached?
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260902-qcom-wdt-nmi-series-v3-0-f3999362a9ea@google.com?part=5
next prev parent reply other threads:[~2026-09-03 2:25 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 1:54 [PATCH v3 0/5] watchdog: qcom: Support NMI pretimeout warnings Mayank Rungta
2026-09-03 1:54 ` [PATCH v3 1/5] genirq: Synchronize in-flight handlers during NMI teardown Mayank Rungta
2026-09-03 2:06 ` sashiko-bot
2026-09-04 9:17 ` Thomas Gleixner
2026-09-04 13:40 ` Marc Zyngier
2026-09-04 14:34 ` Doug Anderson
2026-09-04 14:57 ` Marc Zyngier
2026-09-04 14:59 ` Doug Anderson
2026-09-04 15:11 ` Thomas Gleixner
2026-09-04 15:26 ` Doug Anderson
2026-09-03 1:54 ` [PATCH v3 2/5] genirq: Implement synchronous disable_nmi() Mayank Rungta
2026-09-03 2:11 ` sashiko-bot
2026-09-03 1:54 ` [PATCH v3 3/5] genirq: Export NMI APIs Mayank Rungta
2026-09-04 9:29 ` Thomas Gleixner
2026-09-04 14:07 ` Doug Anderson
2026-09-04 15:05 ` Thomas Gleixner
2026-09-05 1:52 ` Mayank Rungta
2026-09-03 1:54 ` [PATCH v3 4/5] watchdog: pretimeout: Protect governor access with RCU for NMI safety Mayank Rungta
2026-09-03 1:54 ` [PATCH v3 5/5] watchdog: qcom: Register pretimeout interrupt as NMI Mayank Rungta
2026-09-03 2:25 ` sashiko-bot [this message]
2026-09-03 8:18 ` Konrad Dybcio
2026-09-03 20:58 ` Mayank Rungta
2026-09-04 7:37 ` Konrad Dybcio
2026-09-04 14:37 ` Doug Anderson
2026-09-05 1:24 ` Mayank Rungta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260903022548.06A501F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=mrungta@google.com \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.