]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
jiffies: Cast to unsigned long in secs_to_jiffies() conversion
authorEaswar Hariharan <eahariha@linux.microsoft.com>
Thu, 30 Jan 2025 19:26:58 +0000 (19:26 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 31 Jan 2025 08:30:49 +0000 (09:30 +0100)
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@intel.com>
Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20250130192701.99626-1-eahariha@linux.microsoft.com
Closes: https://lore.kernel.org/oe-kbuild-all/202501301334.NB6NszQR-lkp@intel.com/
include/linux/jiffies.h

index ed945f42e064afc7b2270db9d2bb469010ba55f3..0ea8c9887429ff19e22a7bb1e3077640b97a741c 100644 (file)
@@ -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)