Patch 1/11 is a bug fix that should be considered as stable material. Patch 2/11 fixes a user visible sysfs attribute name change. Patch 3/11 is a quick fix to allow coretemp driver to probe more than 128 cores. Patch 4/11 - 10/11 are a series of improvements aim to simplify the code logic and remove unnecessary macros, variables and structure fields, and make it easier for patch 11/11. Patch 11/11 converts coretemp driver to use dynamic memory allocation for core temp_data, so that it is easy to remove the hardcoded core count limitation when _num_cores_per_package become available and reliable, which is WIP in https://lore.kernel.org/all/20240118123127.055361964@xxxxxxxxxxxxx/ I can split the first three patches into a separate patch set if needed. Patch seris V1 has been posted at https://lore.kernel.org/all/20231127131651.476795-1-rui.zhang@xxxxxxxxx/ thanks, rui ---------------------------------------------------------------- Zhang Rui (11): hwmon: (coretemp) Fix out-of-bounds memory access in create_core_data() hwmon: (coretemp) Fix bogus core to attr mapping hwmon: (coretemp) Enlarge per package core count limit hwmon: (coretemp) Introduce enum for attr index hwmon: (coretemp) Remove unnecessary dependency of array index hwmon: (coretemp) Replace sensor_device_attribute with device_attribute hwmon: (coretemp) Remove redundant pdata->cpu_map[] hwmon: (coretemp) Abstract core_temp helpers hwmon: (coretemp) Split package temp_data and core temp_data hwmon: (coretemp) Remove redundant temp_data->is_pkg_data hwmon: (coretemp) Use dynamic allocated memory for core temp_data drivers/hwmon/coretemp.c | 219 ++++++++++++++++++++++++++--------------------- 1 file changed, 120 insertions(+), 99 deletions(-)