Patch "watchdog: rzg2l_wdt: Fix 32bit overflow issue" has been added to the 5.18-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    watchdog: rzg2l_wdt: Fix 32bit overflow issue

to the 5.18-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     watchdog-rzg2l_wdt-fix-32bit-overflow-issue.patch
and it can be found in the queue-5.18 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c9d7828878d5712cbfaf86e620162d0466b274d0
Author: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
Date:   Fri Feb 25 17:53:14 2022 +0000

    watchdog: rzg2l_wdt: Fix 32bit overflow issue
    
    [ Upstream commit ea2949df22a533cdf75e4583c00b1ce94cd5a83b ]
    
    The value of timer_cycle_us can be 0 due to 32bit overflow.
    For eg:- If we assign the counter value "0xfff" for computing
    maxval.
    
    This patch fixes this issue by appending ULL to 1024, so that
    it is promoted to 64bit.
    
    This patch also fixes the warning message, 'watchdog: Invalid min and
    max timeout values, resetting to 0!'.
    
    Fixes: 2cbc5cd0b55fa2 ("watchdog: Add Watchdog Timer driver for RZ/G2L")
    Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
    Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
    Link: https://lore.kernel.org/r/20220225175320.11041-2-biju.das.jz@xxxxxxxxxxxxxx
    Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
    Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c
index 6b426df34fd6..96f2a018ab62 100644
--- a/drivers/watchdog/rzg2l_wdt.c
+++ b/drivers/watchdog/rzg2l_wdt.c
@@ -53,7 +53,7 @@ static void rzg2l_wdt_wait_delay(struct rzg2l_wdt_priv *priv)
 
 static u32 rzg2l_wdt_get_cycle_usec(unsigned long cycle, u32 wdttime)
 {
-	u64 timer_cycle_us = 1024 * 1024 * (wdttime + 1) * MICRO;
+	u64 timer_cycle_us = 1024 * 1024ULL * (wdttime + 1) * MICRO;
 
 	return div64_ul(timer_cycle_us, cycle);
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux