Re: [PATCH] hwmon: (max16065) Use local variable to avoid TOCTOU

From: Guenter Roeck

Date: Fri Nov 28 2025 - 11:36:40 EST


On Fri, Nov 28, 2025 at 08:47:09PM +0800, Gui-Dong Han wrote:
> In max16065_current_show, data->curr_sense is read twice: once for the
> error check and again for the calculation. Since
> i2c_smbus_read_byte_data returns negative error codes on failure, if the
> data changes to an error code between the check and the use, ADC_TO_CURR
> results in an incorrect calculation.
>
> Read data->curr_sense into a local variable to ensure consistency. Note
> that data->curr_gain is constant and safe to access directly.
>
> This aligns max16065_current_show with max16065_input_show, which
> already uses a local variable for the same reason.
>
> Link: https://lore.kernel.org/all/CALbr=LYJ_ehtp53HXEVkSpYoub+XYSTU8Rg=o1xxMJ8=5z8B-g@xxxxxxxxxxxxxx/
> Fixes: f5bae2642e3d ("hwmon: Driver for MAX16065 System Manager and compatibles")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Gui-Dong Han <hanguidong02@xxxxxxxxx>

Applied.

Thanks,
Guenter