From: "Paul E. McKenney" <[email protected]>

Currently, all calls to torture_hrtimeout_ns() either provide a non-zero
fuzzt_ns or a NULL trsp, either of which avoids taking the modulus of a
zero-valued fuzzt_ns.  But this code should do a better job of defending
itself, so this commit explicitly checks fuzzt_ns and avoids the modulus
when its value is zero.

Reviewed-by: Joel Fernandes <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>
Signed-off-by: Joel Fernandes <[email protected]>
---
 kernel/torture.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/torture.c b/kernel/torture.c
index ec3370986976..62c1ac777694 100644
--- a/kernel/torture.c
+++ b/kernel/torture.c
@@ -93,7 +93,7 @@ int torture_hrtimeout_ns(ktime_t baset_ns, u32 fuzzt_ns, 
const enum hrtimer_mode
 {
        ktime_t hto = baset_ns;
 
-       if (trsp)
+       if (trsp && fuzzt_ns)
                hto += torture_random(trsp) % fuzzt_ns;
        set_current_state(TASK_IDLE);
        return schedule_hrtimeout(&hto, mode);
-- 
2.34.1


Reply via email to