Re: [PATCH] rcu/nocb: Fix uninitialized variable in nocb_gp_wait()

From: Paul E. McKenney
Date: Mon Sep 23 2019 - 12:14:08 EST


On Mon, Sep 23, 2019 at 05:26:34PM +0300, Dan Carpenter wrote:
> We never set this to false. This probably doesn't affect most people's
> runtime because GCC will automatically initialize it to false at certain
> common optimization levels. But that behavior is related to a bug in
> GCC and obviously should not be relied on.
>
> Fixes: 5d6742b37727 ("rcu/nocb: Use rcu_segcblist for no-CBs CPUs")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Good catch! Queued for v5.5, thank you!

Thanx, Paul

> ---
> kernel/rcu/tree_plugin.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> index 2defc7fe74c3..fa08d55f7040 100644
> --- a/kernel/rcu/tree_plugin.h
> +++ b/kernel/rcu/tree_plugin.h
> @@ -1946,7 +1946,7 @@ static void nocb_gp_wait(struct rcu_data *my_rdp)
> int __maybe_unused cpu = my_rdp->cpu;
> unsigned long cur_gp_seq;
> unsigned long flags;
> - bool gotcbs;
> + bool gotcbs = false;
> unsigned long j = jiffies;
> bool needwait_gp = false; // This prevents actual uninitialized use.
> bool needwake;
> --
> 2.20.1
>