Messages in this thread | | | Date | Tue, 19 Dec 2023 11:56:37 +0100 | Subject | Re: [PATCH v2] fix overflow in idle exit_latency | From | AngeloGioacchino Del Regno <> |
| |
Il 19/12/23 04:14, Bo Ye ha scritto: > From: C Cheng <C.Cheng@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@mediatek.com> > Signed-off-by: Bo Ye <bo.ye@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
| |