On Mon, Dec 22, 2025 at 07:44:07PM -0500, Joel Fernandes wrote:
> Fix incorrect operator precedence in the conditional that determines
> when to call exp_current() during torture testing. The modulo
> by 0xff appears to do nothing.
> 
> Fix by adding parentheses:
> 
>     !(torture_random(&rand) % 0xff)
> 
> Signed-off-by: Joel Fernandes <[email protected]>

Good eyes, thank you!

Unfortunately, Chris Mason beat you to it:

50d8a5d2a94c ("rcutorture: Correctly compute probability to invoke 
->exp_current()")

I will add your Reported-by to that commit on my next rebase.

                                                        Thanx, Paul

> ---
>  kernel/rcu/rcutorture.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
> index 82588ceed9da..9873a1d54c46 100644
> --- a/kernel/rcu/rcutorture.c
> +++ b/kernel/rcu/rcutorture.c
> @@ -1749,7 +1749,7 @@ rcu_torture_writer(void *arg)
>                                       ulo[i] = cur_ops->get_comp_state();
>                               gp_snap = cur_ops->start_gp_poll();
>                               rcu_torture_writer_state = RTWS_POLL_WAIT;
> -                             if (cur_ops->exp_current && 
> !torture_random(&rand) % 0xff)
> +                             if (cur_ops->exp_current && 
> !(torture_random(&rand) % 0xff))
>                                       cur_ops->exp_current();
>                               while (!cur_ops->poll_gp_state(gp_snap)) {
>                                       gp_snap1 = cur_ops->get_gp_state();
> @@ -1771,7 +1771,7 @@ rcu_torture_writer(void *arg)
>                                       cur_ops->get_comp_state_full(&rgo[i]);
>                               cur_ops->start_gp_poll_full(&gp_snap_full);
>                               rcu_torture_writer_state = RTWS_POLL_WAIT_FULL;
> -                             if (cur_ops->exp_current && 
> !torture_random(&rand) % 0xff)
> +                             if (cur_ops->exp_current && 
> !(torture_random(&rand) % 0xff))
>                                       cur_ops->exp_current();
>                               while 
> (!cur_ops->poll_gp_state_full(&gp_snap_full)) {
>                                       
> cur_ops->get_gp_state_full(&gp_snap1_full);
> -- 
> 2.34.1
> 

Reply via email to