From: Jakub Kicinski <kuba@kernel.org>
To: illusion.wang@nebula-matrix.com
Cc: Jakub Kicinski <kuba@kernel.org>,
dimon.zhao@nebula-matrix.com, alvin.wang@nebula-matrix.com,
sam.chen@nebula-matrix.com, netdev@vger.kernel.org,
andrew+netdev@lunn.ch, corbet@lwn.net, horms@kernel.org,
linux-doc@vger.kernel.org, pabeni@redhat.com,
vadim.fedorenko@linux.dev, lukas.bulwahn@redhat.com,
edumazet@google.com, enelsonmoore@gmail.com,
skhan@linuxfoundation.org, hkallweit1@gmail.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v22 net-next 06/12] net/nebula-matrix: add intr resource implementation
Date: Thu, 30 Jul 2026 18:30:31 -0700 [thread overview]
Message-ID: <20260731013031.745107-1-kuba@kernel.org> (raw)
In-Reply-To: <20260723040110.91410-7-illusion.wang@nebula-matrix.com>
This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least plausible.
---
--- Patch [6]: [PATCH v22 net-next 06/12] net/nebula-matrix: add intr resource implementation ---
commit 32d01aebd4d29040305943012638ac9e59c45fb8
Author: illusion wang <illusion.wang@nebula-matrix.com>
net/nebula-matrix: add intr resource implementation
This commit adds the nbl_interrupt module to manage driver global MSI-X
vector indices. It extends hw_ops with callbacks to program vendor-specific
internal MSI-X mapping registers, configure MSI-X metadata, and bind
interrupts to PF mailbox channels.
> diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.c b/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.c
> new file mode 100644
> index 0000000000000..cb6874d13a88f
> --- /dev/null
> +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.c
[ ... ]
> @@ -0,0 +1,335 @@
[ ... ]
> +release_net_bits:
> + while (i--) {
> + intr_index = tmp_interrupts[i];
> + if (intr_index >= NBL_NET_INTR_BASE)
> + clear_bit(intr_index - NBL_NET_INTR_BASE,
> + intr_mgt->interrupt_net_bitmap);
> + else
> + clear_bit(intr_index,
> + intr_mgt->interrupt_others_bitmap);
> + }
> + i = num_net_msix;
> +release_all_bits:
> + while (i--) {
[Severity: High]
Does this fall-through inadvertently corrupt the global interrupt bitmaps?
If resource allocation fails in the first loop for net interrupts, the code
jumps to release_net_bits, loops i down to 0, sets i = num_net_msix, and then
falls through into release_all_bits.
Because tmp_interrupts was allocated with devm_kcalloc, any uninitialized
entries are 0. When the second loop evaluates these uninitialized zero
values, 0 < NBL_NET_INTR_BASE, meaning the code will clear bit 0 in
interrupt_others_bitmap and also doubly clear the already-released net bits.
Should there be a jump to free_prealloc right before release_all_bits to
avoid evaluating the array twice?
> + intr_index = tmp_interrupts[i];
> + if (intr_index >= NBL_NET_INTR_BASE)
> + clear_bit(intr_index - NBL_NET_INTR_BASE,
> + intr_mgt->interrupt_net_bitmap);
> + else
> + clear_bit(intr_index,
> + intr_mgt->interrupt_others_bitmap);
> + }
> + goto free_prealloc;
> +}
next prev parent reply other threads:[~2026-07-31 1:30 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-23 4:00 [PATCH v22 net-next 00/12] nbl driver for Nebulamatrix NICs illusion.wang
2026-07-23 4:00 ` [PATCH v22 net-next 01/12] net/nebula-matrix: add minimum nbl build framework illusion.wang
2026-07-31 1:10 ` Jakub Kicinski
2026-07-23 4:00 ` [PATCH v22 net-next 02/12] net/nebula-matrix: add core driver architecture and HW layer initialization illusion.wang
2026-07-30 9:18 ` 回复:[PATCH " Illusion Wang
2026-07-31 1:13 ` [PATCH " Jakub Kicinski
2026-07-31 1:30 ` Jakub Kicinski
2026-07-23 4:00 ` [PATCH v22 net-next 03/12] net/nebula-matrix: add channel wire opcode enum definitions illusion.wang
2026-07-23 4:00 ` [PATCH v22 net-next 04/12] net/nebula-matrix: add channel layer illusion.wang
2026-07-31 1:27 ` Jakub Kicinski
2026-07-31 1:30 ` Jakub Kicinski
2026-07-23 4:00 ` [PATCH v22 net-next 05/12] net/nebula-matrix: add common resource implementation illusion.wang
2026-07-31 1:30 ` Jakub Kicinski
2026-07-23 4:00 ` [PATCH v22 net-next 06/12] net/nebula-matrix: add intr " illusion.wang
2026-07-31 1:30 ` Jakub Kicinski [this message]
2026-07-23 4:00 ` [PATCH v22 net-next 07/12] net/nebula-matrix: add chip-wide hardware init/deinit implementation illusion.wang
2026-07-31 1:30 ` Jakub Kicinski
2026-07-23 4:01 ` [PATCH v22 net-next 08/12] net/nebula-matrix: dispatch: add control-level routing core infrastructure illusion.wang
2026-07-23 4:01 ` [PATCH v22 net-next 09/12] net/nebula-matrix: dispatch: add cross-version channel message framework illusion.wang
2026-07-31 1:30 ` Jakub Kicinski
2026-07-23 4:01 ` [PATCH v22 net-next 10/12] net/nebula-matrix: dispatch: add mutual exclusion lock for shared hardware resource ops illusion.wang
2026-07-31 1:30 ` Jakub Kicinski
2026-07-23 4:01 ` [PATCH v22 net-next 11/12] net/nebula-matrix: add common/ctrl dev init/remove operation illusion.wang
2026-07-31 1:30 ` Jakub Kicinski
2026-07-23 4:01 ` [PATCH v22 net-next 12/12] net/nebula-matrix: add common dev start/stop operation illusion.wang
2026-07-31 1:30 ` Jakub Kicinski
2026-07-31 1:29 ` [PATCH v22 net-next 00/12] nbl driver for Nebulamatrix NICs Jakub Kicinski
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=20260731013031.745107-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=alvin.wang@nebula-matrix.com \
--cc=andrew+netdev@lunn.ch \
--cc=corbet@lwn.net \
--cc=dimon.zhao@nebula-matrix.com \
--cc=edumazet@google.com \
--cc=enelsonmoore@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=illusion.wang@nebula-matrix.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas.bulwahn@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sam.chen@nebula-matrix.com \
--cc=skhan@linuxfoundation.org \
--cc=vadim.fedorenko@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.