Commit 94e791f5 authored by Srinivas Pandruvada's avatar Srinivas Pandruvada Committed by Zhang Rui

Thermal: x86_pkg_temp: Limit number of pkg temp zones

Although it is unlikley that physical package id is set to some
arbitary number, it is better to prevent in anycase. Since package
temp zones use this in thermal zone type and for allocation, added
a limit.
Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
parent c7c1b311
...@@ -54,6 +54,8 @@ MODULE_PARM_DESC(notify_delay_ms, ...@@ -54,6 +54,8 @@ MODULE_PARM_DESC(notify_delay_ms,
* is some wrong values returned by cpuid for number of thresholds. * is some wrong values returned by cpuid for number of thresholds.
*/ */
#define MAX_NUMBER_OF_TRIPS 2 #define MAX_NUMBER_OF_TRIPS 2
/* Limit number of package temp zones */
#define MAX_PKG_TEMP_ZONE_IDS 256
struct phy_dev_entry { struct phy_dev_entry {
struct list_head list; struct list_head list;
...@@ -401,6 +403,9 @@ static int pkg_temp_thermal_device_add(unsigned int cpu) ...@@ -401,6 +403,9 @@ static int pkg_temp_thermal_device_add(unsigned int cpu)
if (!thres_count) if (!thres_count)
return -ENODEV; return -ENODEV;
if (topology_physical_package_id(cpu) > MAX_PKG_TEMP_ZONE_IDS)
return -ENODEV;
thres_count = clamp_val(thres_count, 0, MAX_NUMBER_OF_TRIPS); thres_count = clamp_val(thres_count, 0, MAX_NUMBER_OF_TRIPS);
err = get_tj_max(cpu, &tj_max); err = get_tj_max(cpu, &tj_max);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment