I've had a look at the x86 code where this error comes from:
/* Returns a pointer to the cpumask of CPUs on Node 'node'. */
static inline const struct cpumask *cpumask_of_node(int node)
{
return node_to_cpumask_map[node];
}
So it seems the error arises because it is asked for a negative index from the
node_to_cpumask_map array. Interestingly the same name for sparc has handling
for the case the argument is -1:
#define cpumask_of_node(node) ((node) == -1 ? \
cpu_all_mask : \
&numa_cpumask_lookup_table[node])
and so does powerpc:
#define cpumask_of_node(node) ((node) == -1 ? \
cpu_all_mask : \
node_to_cpumask_map[node])
in drivers/base/arch_numa.c there is a debug version for this name which
returns cpu_all_mask as sparc and powerpc for NUMA_NO_NODE
(include/linux/numa.h:#define NUMA_NO_NODE (-1)):
#ifdef CONFIG_DEBUG_PER_CPU_MAPS
/*
* Returns a pointer to the bitmask of CPUs on Node 'node'.
*/
const struct cpumask *cpumask_of_node(int node)
{
if (node == NUMA_NO_NODE)
return cpu_all_mask;
if (WARN_ON(node < 0 || node >= nr_node_ids))
return cpu_none_mask;
if (WARN_ON(node_to_cpumask_map[node] == NULL))
return cpu_online_mask;
return node_to_cpumask_map[node];
}
EXPORT_SYMBOL(cpumask_of_node);
#endif
Based on these alternative implementations it seems as though cpumask_of_node
for x86 should be something like:
/* Returns a pointer to the cpumask of CPUs on Node 'node'. */
static inline const struct cpumask *cpumask_of_node(int node)
{
return node == -1 ? cpu_all_mask : node_to_cpumask_map[node];
}
I have insufficient knowledge about this stuff to say that is definitely
the case though.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2008157
Title:
[SRU][Ubuntu 22.04.1]: Observed "Array Index out of bounds" Call Trace
multiple times on Ubuntu 22.04.1 OS during boot
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2008157/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs