[PATCH v2] fix overflow in idle exit_latency

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Tue Dec 19 02:56:37 PST 2023


Il 19/12/23 04:14, Bo Ye ha scritto:
> From: C Cheng <C.Cheng at mediatek.com>
> 
> In detail:
> 
> In C language, when you perform a multiplication operation, if
> both operands are of int type, the multiplication operation is
> performed on the int type, and then the result is converted to
> the target type. This means that if the product of int type
> multiplication exceeds the range that int type can represent,
>   an overflow will occur even if you store the result in a
> variable of int64_t type.
> 
> For a multiplication of two int values, it is better to use
> mul_u32_u32() rather than s->exit_latency_ns = s->exit_latency *
> NSEC_PER_USEC to avoid potential overflow happenning.
> 
> Signed-off-by: C Cheng <C.Cheng at mediatek.com>
> Signed-off-by: Bo Ye <bo.ye at mediatek.com>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>





More information about the Linux-mediatek mailing list