Re: [PATCH] platform/x86/amd/hsmp: Reject negative power cap writes in hwmon

From: Ilpo Järvinen

Date: Tue Aug 18 2026 - 10:07:45 EST


On Wed, 12 Aug 2026 14:30:12 +0530, Hemanth Selam wrote:

> hsmp_hwmon_write() takes the user-supplied hwmon value as a signed long
> and assigns "val / MICROWATT_PER_MILLIWATT" to msg.args[0], which is a
> __u32. MICROWATT_PER_MILLIWATT is an unsigned long, so a negative write
> to power1_cap (e.g. "echo -1 > power1_cap") is first converted to a huge
> unsigned value by the division and then stored into the u32 argument.
>
> As a result a nonsensical, multi-gigawatt socket power limit is sent to
> the SMU via HSMP_SET_SOCKET_POWER_LIMIT instead of the write being
> rejected.
>
> [...]

Thank you for your contribution, it has been applied to my local
review-ilpo-next branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-next branch only once I've pushed my
local branch there, which might take a while.

FYI [if applicable to your patch], as per Linus' policy change, also
fixes are mostly routed through for-next unless the fix is for a
commit introduced in the most recent cycle or is clearly a regression
fix.

The list of commits applied:
[1/1] platform/x86/amd/hsmp: Reject negative power cap writes in hwmon
commit: e7dcde6b063703a24deeb64689464b2763fe05b1

--
i.