2022-07-18 05:02:52

by Gavin Shan

[permalink] [raw]
Subject: [PATCH] arm64: numa: Don't check node against MAX_NUMNODES

When the NUMA nodes are sorted by checking ACPI SRAT (GICC AFFINITY)
sub-table, it's impossible for acpi_map_pxm_to_node() to return
any value, which is greater than or equal to MAX_NUMNODES. Lets drop
the unnecessary check in acpi_numa_gicc_affinity_init().

No functional change intended.

Signed-off-by: Gavin Shan <[email protected]>
---
arch/arm64/kernel/acpi_numa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kernel/acpi_numa.c b/arch/arm64/kernel/acpi_numa.c
index fdfecf0991ce..e51535a5f939 100644
--- a/arch/arm64/kernel/acpi_numa.c
+++ b/arch/arm64/kernel/acpi_numa.c
@@ -109,7 +109,7 @@ void __init acpi_numa_gicc_affinity_init(struct acpi_srat_gicc_affinity *pa)
pxm = pa->proximity_domain;
node = acpi_map_pxm_to_node(pxm);

- if (node == NUMA_NO_NODE || node >= MAX_NUMNODES) {
+ if (node == NUMA_NO_NODE) {
pr_err("SRAT: Too many proximity domains %d\n", pxm);
bad_srat();
return;
--
2.23.0


2022-07-19 18:37:11

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm64: numa: Don't check node against MAX_NUMNODES

On Mon, Jul 18, 2022 at 02:42:32PM +0800, Gavin Shan wrote:
> When the NUMA nodes are sorted by checking ACPI SRAT (GICC AFFINITY)
> sub-table, it's impossible for acpi_map_pxm_to_node() to return
> any value, which is greater than or equal to MAX_NUMNODES. Lets drop
> the unnecessary check in acpi_numa_gicc_affinity_init().
>
> No functional change intended.
>
> Signed-off-by: Gavin Shan <[email protected]>
> ---
> arch/arm64/kernel/acpi_numa.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/acpi_numa.c b/arch/arm64/kernel/acpi_numa.c
> index fdfecf0991ce..e51535a5f939 100644
> --- a/arch/arm64/kernel/acpi_numa.c
> +++ b/arch/arm64/kernel/acpi_numa.c
> @@ -109,7 +109,7 @@ void __init acpi_numa_gicc_affinity_init(struct acpi_srat_gicc_affinity *pa)
> pxm = pa->proximity_domain;
> node = acpi_map_pxm_to_node(pxm);
>
> - if (node == NUMA_NO_NODE || node >= MAX_NUMNODES) {
> + if (node == NUMA_NO_NODE) {
> pr_err("SRAT: Too many proximity domains %d\n", pxm);
> bad_srat();
> return;

This isn't "obviously" correct, but it does look like the way in which
acpi_map_pxm_to_node() allocates nodes in 'nodes_found_map' means that this
check is redundant, so I'll pick it up.

Will

2022-07-19 20:10:24

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm64: numa: Don't check node against MAX_NUMNODES

On Mon, 18 Jul 2022 14:42:32 +0800, Gavin Shan wrote:
> When the NUMA nodes are sorted by checking ACPI SRAT (GICC AFFINITY)
> sub-table, it's impossible for acpi_map_pxm_to_node() to return
> any value, which is greater than or equal to MAX_NUMNODES. Lets drop
> the unnecessary check in acpi_numa_gicc_affinity_init().
>
> No functional change intended.
>
> [...]

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: numa: Don't check node against MAX_NUMNODES
https://git.kernel.org/arm64/c/9e26cac5f82b

Cheers,
--
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev