Messages in this thread | | | Date | Sat, 13 Oct 2018 16:19:02 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [rcu:dev.2018.10.03a 44/73] kernel/rcu/tree.c:2704:5: warning: 'max_cpu' may be used uninitialized in this function |
| |
On Mon, Oct 08, 2018 at 07:25:58PM +0800, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2018.10.03a > head: ef44a26c84188888f97e5d7b3f8e4f8c0decd248 > commit: 813f47a94e3b61439bba90340b532f3a6319d4f5 [44/73] rcu: Print per-CPU callback counts for forward-progress failures > config: x86_64-randconfig-x006-10081527 (attached as .config) > compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 > reproduce: > git checkout 813f47a94e3b61439bba90340b532f3a6319d4f5 > # save the attached .config to linux build tree > make ARCH=x86_64 > > Note: it may well be a FALSE warning. FWIW you are at least aware of it now. > http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings > > All warnings (new ones prefixed by >>): > > kernel/rcu/tree.c: In function 'rcu_fwd_progress_check': > >> kernel/rcu/tree.c:2704:5: warning: 'max_cpu' may be used uninitialized in this function [-Wmaybe-uninitialized] > if (max_cpu >= 0) > ^ > >> kernel/rcu/tree.c:2699:6: warning: 'max_cbs' may be used uninitialized in this function [-Wmaybe-uninitialized] > if (cbs <= max_cbs) > ^
Good catch! A fix is on its way.
Thanx, Paul
> vim +/max_cpu +2704 kernel/rcu/tree.c > > 2670 > 2671 /* > 2672 * Do a forward-progress check for rcutorture. This is normally invoked > 2673 * due to an OOM event. The argument "j" gives the time period during > 2674 * which rcutorture would like progress to have been made. > 2675 */ > 2676 void rcu_fwd_progress_check(unsigned long j) > 2677 { > 2678 unsigned long cbs; > 2679 int cpu; > 2680 unsigned long max_cbs; > 2681 int max_cpu; > 2682 struct rcu_data *rdp; > 2683 > 2684 if (rcu_gp_in_progress()) { > 2685 show_rcu_gp_kthreads(); > 2686 } else { > 2687 preempt_disable(); > 2688 rdp = this_cpu_ptr(&rcu_data); > 2689 rcu_check_gp_start_stall(rdp->mynode, rdp, j); > 2690 preempt_enable(); > 2691 } > 2692 for_each_possible_cpu(cpu) { > 2693 cbs = rcu_get_n_cbs_cpu(cpu); > 2694 if (!cbs) > 2695 continue; > 2696 if (max_cpu < 0) > 2697 pr_info("%s: callbacks", __func__); > 2698 pr_cont(" %d: %lu", cpu, cbs); > > 2699 if (cbs <= max_cbs) > 2700 continue; > 2701 max_cbs = cbs; > 2702 max_cpu = cpu; > 2703 } > > 2704 if (max_cpu >= 0) > 2705 pr_cont("\n"); > 2706 } > 2707 EXPORT_SYMBOL_GPL(rcu_fwd_progress_check); > 2708 > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation
| |