Message ID | 20250208074907.5679-1-rui.zhang@intel.com |
---|---|
State | Accepted |
Commit | c195b9c6ab9c383d7aa3f4a65879b3ca90cb378b |
Headers | show |
Series | thermal/netlink: Prevent Userspace Segmentation Fault by Adjusting UAPI Header | expand |
On 08/02/2025 08:49, Zhang Rui wrote: > 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 1773572863c4 ("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: 1773572863c4 ("thermal: netlink: Add the commands and the events for the thresholds") > Signed-off-by: Zhang Rui <rui.zhang@intel.com> > --- Right, thanks for the fix Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
On Tue, Feb 11, 2025 at 9:01 AM Daniel Lezcano <daniel.lezcano@linaro.org> wrote: > > On 08/02/2025 08:49, Zhang Rui wrote: > > 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 1773572863c4 ("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: 1773572863c4 ("thermal: netlink: Add the commands and the events for the thresholds") > > Signed-off-by: Zhang Rui <rui.zhang@intel.com> > > --- > > Right, thanks for the fix > > Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org> Applied as 6.14-rc material, thanks!
diff --git a/include/uapi/linux/thermal.h b/include/uapi/linux/thermal.h index 349718c271eb..46a2633d33aa 100644 --- a/include/uapi/linux/thermal.h +++ b/include/uapi/linux/thermal.h @@ -30,7 +30,6 @@ enum thermal_genl_attr { THERMAL_GENL_ATTR_TZ, THERMAL_GENL_ATTR_TZ_ID, THERMAL_GENL_ATTR_TZ_TEMP, - THERMAL_GENL_ATTR_TZ_PREV_TEMP, THERMAL_GENL_ATTR_TZ_TRIP, THERMAL_GENL_ATTR_TZ_TRIP_ID, THERMAL_GENL_ATTR_TZ_TRIP_TYPE, @@ -54,6 +53,7 @@ enum thermal_genl_attr { THERMAL_GENL_ATTR_THRESHOLD, THERMAL_GENL_ATTR_THRESHOLD_TEMP, THERMAL_GENL_ATTR_THRESHOLD_DIRECTION, + THERMAL_GENL_ATTR_TZ_PREV_TEMP, __THERMAL_GENL_ATTR_MAX, }; #define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1)
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 1773572863c4 ("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: 1773572863c4 ("thermal: netlink: Add the commands and the events for the thresholds") Signed-off-by: Zhang Rui <rui.zhang@intel.com> --- include/uapi/linux/thermal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)