[PATCH v3 0/3] hwmon: Fix bugs in pt5161l, isl28022, and powerz

From: Pradhan, Sanman

Date: Wed Apr 08 2026 - 12:32:18 EST


From: Sanman Pradhan <psanman@xxxxxxxxxxx>

This series fixes bugs in drivers/hwmon

1. pt5161l: Undersized stack buffer for SMBus block read, and
unexpected positive return when retries are exhausted
2. isl28022: Integer overflow in power calculation on 32-bit
3. powerz: Use-after-free race on USB disconnect, and signal
handling bug in completion wait

Changes since v2:
- Patch 2/3 (isl28022): Use min()/div_u64() one-liner instead of
clamp_val() + tmp variable, per review feedback.
Add overflow justification to commit message.
- Patches 1/3 and 3/3: No changes.

Changes since v1:
- Patch 1/3 (pt5161l): Also fix unexpected positive return when
retries are exhausted due to length mismatch.
- Patch 2/3 (isl28022): Switch from s64/div_s64() to u64/div_u64()
since power is inherently non-negative.
- Patch 3/3 (powerz): Also fix signal handling in
wait_for_completion_interruptible_timeout(). Return -ENODEV
instead of -EIO on disconnected device.

Sanman Pradhan (3):
hwmon: (pt5161l) Fix bugs in pt5161l_read_block_data()
hwmon: (isl28022) Fix integer overflow in power calculation on 32-bit
hwmon: (powerz) Fix use-after-free and signal handling on USB
disconnect

drivers/hwmon/isl28022.c | 5 +++--
drivers/hwmon/powerz.c | 18 +++++++++++++-----
drivers/hwmon/pt5161l.c | 4 ++--
3 files changed, 18 insertions(+), 9 deletions(-)

--
2.34.1