Messages in this thread | | | Date | Mon, 04 Jan 2010 14:15:30 +0900 | From | Jin Dongming <> | Subject | Re: [PATCH v2] Check the node argument passed to cpumask_of_node |
| |
Hi, David
This problem also happened when the CONFIG_DEBUG_PER_CPU_MAPS was used, so how about modifying the code for it working well?
Best Regards, Jin Dongming
David John wrote: > Commit e0cd516 "PCI: derive nearby CPUs from device's instead of bus' NUMA information" > causes an null pointer dereference when reading from the sysfs attributes local_cpu* > on Intel machines with no ACPI NUMA proximity info, since dev->numa_node gets set to -1 > for all PCI devices, which then gets passed to cpumask_of_node. > > Ensure that the node value is valid. > > Signed-off-by: David John <davidjon@xenontk.org> > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > index c5087d7..1141a6e 100644 > --- a/arch/x86/include/asm/topology.h > +++ b/arch/x86/include/asm/topology.h > @@ -99,7 +99,8 @@ extern const struct cpumask *cpumask_of_node(int node); > /* 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]; > + return (node < 0 || node >= nr_node_ids) ? cpu_online_mask : > + node_to_cpumask_map[node]; > } > #endif > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > >
| |