[tip: timers/urgent] jiffies: Cast to unsigned long in secs_to_jiffies() conversion

From: tip-bot2 for Easwar Hariharan
Date: Fri Jan 31 2025 - 03:43:26 EST


The following commit has been merged into the timers/urgent branch of tip:

Commit-ID: bb2784d9ab49587ba4fbff37a319fff2924db289
Gitweb: https://git.kernel.org/tip/bb2784d9ab49587ba4fbff37a319fff2924db289
Author: Easwar Hariharan <eahariha@xxxxxxxxxxxxxxxxxxx>
AuthorDate: Thu, 30 Jan 2025 19:26:58
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Fri, 31 Jan 2025 09:30:49 +01:00

jiffies: Cast to unsigned long in secs_to_jiffies() conversion

While converting users of msecs_to_jiffies(), lkp reported that some range
checks would always be true because of the mismatch between the implied int
value of secs_to_jiffies() vs the unsigned long return value of the
msecs_to_jiffies() calls it was replacing.

Fix this by casting the secs_to_jiffies() input value to unsigned long.

Fixes: b35108a51cf7ba ("jiffies: Define secs_to_jiffies()")
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Signed-off-by: Easwar Hariharan <eahariha@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Link: https://lore.kernel.org/all/20250130192701.99626-1-eahariha@xxxxxxxxxxxxxxxxxxx
Closes: https://lore.kernel.org/oe-kbuild-all/202501301334.NB6NszQR-lkp@xxxxxxxxx/
---
include/linux/jiffies.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
index ed945f4..0ea8c98 100644
--- a/include/linux/jiffies.h
+++ b/include/linux/jiffies.h
@@ -537,7 +537,7 @@ static __always_inline unsigned long msecs_to_jiffies(const unsigned int m)
*
* Return: jiffies value
*/
-#define secs_to_jiffies(_secs) ((_secs) * HZ)
+#define secs_to_jiffies(_secs) (unsigned long)((_secs) * HZ)

extern unsigned long __usecs_to_jiffies(const unsigned int u);
#if !(USEC_PER_SEC % HZ)