Skip to content

Commit c195b9c

Browse files
zhang-ruirafaeljw
authored andcommitted
thermal/netlink: Prevent userspace segmentation fault by adjusting UAPI header
The intel-lpmd tool [1], which uses the THERMAL_GENL_ATTR_CPU_CAPABILITY attribute to receive HFI events from kernel space, encounters a segmentation fault after commit 1773572 ("thermal: netlink: Add the commands and the events for the thresholds"). The issue arises because the THERMAL_GENL_ATTR_CPU_CAPABILITY raw value was changed while intel_lpmd still uses the old value. Although intel_lpmd can be updated to check the THERMAL_GENL_VERSION and use the appropriate THERMAL_GENL_ATTR_CPU_CAPABILITY value, the commit itself is questionable. The commit introduced a new element in the middle of enum thermal_genl_attr, which affects many existing attributes and introduces potential risks and unnecessary maintenance burdens for userspace thermal netlink event users. Solve the issue by moving the newly introduced THERMAL_GENL_ATTR_TZ_PREV_TEMP attribute to the end of the enum thermal_genl_attr. This ensures that all existing thermal generic netlink attributes remain unaffected. Link: https://github.com/intel/intel-lpmd [1] Fixes: 1773572 ("thermal: netlink: Add the commands and the events for the thresholds") Signed-off-by: Zhang Rui <[email protected]> Reviewed-by: Daniel Lezcano <[email protected]> Link: https://patch.msgid.link/[email protected] [ rjw: Subject edits ] Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent a64dcfb commit c195b9c

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

include/uapi/linux/thermal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ enum thermal_genl_attr {
3030
THERMAL_GENL_ATTR_TZ,
3131
THERMAL_GENL_ATTR_TZ_ID,
3232
THERMAL_GENL_ATTR_TZ_TEMP,
33-
THERMAL_GENL_ATTR_TZ_PREV_TEMP,
3433
THERMAL_GENL_ATTR_TZ_TRIP,
3534
THERMAL_GENL_ATTR_TZ_TRIP_ID,
3635
THERMAL_GENL_ATTR_TZ_TRIP_TYPE,
@@ -54,6 +53,7 @@ enum thermal_genl_attr {
5453
THERMAL_GENL_ATTR_THRESHOLD,
5554
THERMAL_GENL_ATTR_THRESHOLD_TEMP,
5655
THERMAL_GENL_ATTR_THRESHOLD_DIRECTION,
56+
THERMAL_GENL_ATTR_TZ_PREV_TEMP,
5757
__THERMAL_GENL_ATTR_MAX,
5858
};
5959
#define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1)

0 commit comments

Comments
 (0)