[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <49d4b21c-cb2c-455b-8ab3-014bac63deaa@oracle.com>
Date: Fri, 2 Jan 2026 10:33:26 +0000
From: John Garry <john.g.garry@...cle.com>
To: "vulab@...as.ac.cn" <vulab@...as.ac.cn>
Cc: "sathya.prakash@...adcom.com" <sathya.prakash@...adcom.com>,
"sreekanth.reddy@...adcom.com" <sreekanth.reddy@...adcom.com>,
"suganath-prabu.subramani@...adcom.com"
<suganath-prabu.subramani@...adcom.com>,
"James.Bottomley@...senPartnership.com"
<James.Bottomley@...senPartnership.com>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"MPT-FusionLinux.pdl@...adcom.com" <MPT-FusionLinux.pdl@...adcom.com>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: 回复: [PATCH] scsi: mpt3sas: Fix invalid NUMA node index
On 31/12/2025 01:19, vulab@...as.ac.cn wrote:
> Hi John,
>
> Thank you for the feedback.
>
> Regarding the suggestion to audit all cpumask_of_node() implementations:
>
> I noticed that a very similar issue was recently fixed in the
> megaraid_sas driver (commit 752eb816b55a, "scsi: megaraid_sas: Fix
> invalid node index"), where an UBSAN array-index-out-of-bounds warning
> was addressed by handling NUMA_NO_NODE locally in the driver.
>
> Following that approach, it seems reasonable for mpt3sas to handle
> this case locally as well, while leaving any broader unification of
> cpumask_of_node() semantics across architectures as a separate
> discussion, since changes in the x86 topology headers may have wider
> impact.
>
> Regarding the fallback behavior:
>
> The existing megaraid_sas fix falls back to node 0, but as you pointed
> out, some implementations (e.g. drivers/base/arch_numa.c) treat
> NUMA_NO_NODE as indicating no specific NUMA locality and return
> cpu_all_mask. Forcing node 0 in this case may unnecessarily constrain
> interrupt affinity on NUMA systems.
>
> For a v2, I propose to:
>
>
> 1.
> Fix the issue locally in the mpt3sas driver (similar to
>
> megaraid_sas); and
>
>
> 1.
> Use cpu_online_mask as the fallback when dev_to_node() returns
>
> NUMA_NO_NODE, to better match the intended semantics, while still
> preventing out-of-bounds access.
>
> Please let me know if this sounds acceptable.
I am not the driver maintainer, so it is not my choice.
But I will try to remedy this in the per-arch code if you don't want to.
Powered by blists - more mailing lists