hwmon: (xgene-hwmon) use appropriate type for the latency value
authorAndrey Vatoropin <a.vatoropin@crpt.ru>
Tue, 4 Feb 2025 09:54:08 +0000 (09:54 +0000)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 7 Feb 2025 02:52:38 +0000 (18:52 -0800)
The expression PCC_NUM_RETRIES * pcc_chan->latency is currently being
evaluated using 32-bit arithmetic.

Since a value of type 'u64' is used to store the eventual result,
and this result is later sent to the function usecs_to_jiffies with
input parameter unsigned int, the current data type is too wide to
store the value of ctx->usecs_lat.

Change the data type of "usecs_lat" to a more suitable (narrower) type.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Andrey Vatoropin <a.vatoropin@crpt.ru>
Link: https://lore.kernel.org/r/20250204095400.95013-1-a.vatoropin@crpt.ru
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/xgene-hwmon.c

index 1e3bd129a922d25ff25142d864503377773304a8..eb67190d9a861102603bb241ac0185f08140ab7f 100644 (file)
@@ -105,7 +105,7 @@ struct xgene_hwmon_dev {
 
        phys_addr_t             comm_base_addr;
        void                    *pcc_comm_addr;
-       u64                     usecs_lat;
+       unsigned int            usecs_lat;
 };
 
 /*