From: Paul E. McKenney Date: Wed, 22 May 2019 16:35:11 +0000 (-0700) Subject: rcu/nocb: Suppress uninitialized false-positive in nocb_gp_wait() X-Git-Tag: v5.4-rc1~181^2~1^2^2~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=969974e5c51e717fc9070b00eb2f61ae589ed13d;p=thirdparty%2Fkernel%2Flinux.git rcu/nocb: Suppress uninitialized false-positive in nocb_gp_wait() Some compilers complain that wait_gp_seq might be used uninitialized in nocb_gp_wait(). This cannot actually happen because when wait_gp_seq is uninitialized, needwait_gp must be false, which prevents wait_gp_seq from being used. But this analysis is apparently beyond some compilers, so this commit adds a bogus initialization of wait_gp_seq for the sole purpose of suppressing the false-positive warning. Signed-off-by: Paul E. McKenney --- diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index 1847fffdfa0a6..c1dfbac8cd39f 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -1668,12 +1668,12 @@ static void nocb_gp_wait(struct rcu_data *my_rdp) unsigned long cur_gp_seq; unsigned long flags; bool gotcbs; - bool needwait_gp = false; + bool needwait_gp = false; // This prevents actual uninitialized use. bool needwake; bool needwake_gp; struct rcu_data *rdp; struct rcu_node *rnp; - unsigned long wait_gp_seq; + unsigned long wait_gp_seq = 0; // Suppress "use uninitialized" warning. /* * Each pass through the following loop checks for CBs and for the