lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Wed, 2 May 2018 05:56:34 +0800
From:   kbuild test robot <lkp@...el.com>
To:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org
Subject: [rcu:dev.2018.04.30b 50/51] kernel//rcu/tree.c:2034:34: error:
 'struct rcu_state' has no member named 'completed'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2018.04.30b
head:   20bf5e55125a36b7ec82aef23f1d67eae703d2da
commit: 3fe178188280d233ea019dfea88d68dbd4dc893a [50/51] rcu: Remove ->gpnum and ->completed
config: i386-randconfig-x006-201817 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        git checkout 3fe178188280d233ea019dfea88d68dbd4dc893a
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: the rcu/dev.2018.04.30b HEAD 20bf5e55125a36b7ec82aef23f1d67eae703d2da builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   kernel//rcu/tree.c: In function 'rcu_gp_cleanup':
>> kernel//rcu/tree.c:2034:34: error: 'struct rcu_state' has no member named 'completed'
      trace_rcu_this_gp(rnp, rdp, rsp->completed - 1,
                                     ^~

vim +2034 kernel//rcu/tree.c

4cdfc175c kernel/rcutree.c  Paul E. McKenney 2012-06-22  1966  
4cdfc175c kernel/rcutree.c  Paul E. McKenney 2012-06-22  1967  /*
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  1968   * Clean up after the old grace period.
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  1969   */
4cdfc175c kernel/rcutree.c  Paul E. McKenney 2012-06-22  1970  static void rcu_gp_cleanup(struct rcu_state *rsp)
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  1971  {
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  1972  	unsigned long gp_duration;
48a7639ce kernel/rcu/tree.c Paul E. McKenney 2014-03-11  1973  	bool needgp = false;
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26  1974  	unsigned long new_gp_seq;
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  1975  	struct rcu_data *rdp;
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  1976  	struct rcu_node *rnp = rcu_get_root(rsp);
abedf8e24 kernel/rcu/tree.c Paul Gortmaker   2016-02-19  1977  	struct swait_queue_head *sq;
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  1978  
7d0ae8086 kernel/rcu/tree.c Paul E. McKenney 2015-03-03  1979  	WRITE_ONCE(rsp->gp_activity, jiffies);
2a67e741b kernel/rcu/tree.c Peter Zijlstra   2015-10-08  1980  	raw_spin_lock_irq_rcu_node(rnp);
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1981  	gp_duration = jiffies - rsp->gp_start;
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1982  	if (gp_duration > rsp->gp_max)
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1983  		rsp->gp_max = gp_duration;
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1984  
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1985  	/*
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1986  	 * We know the grace period is complete, but to everyone else
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1987  	 * it appears to still be ongoing.  But it is also the case
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1988  	 * that to everyone else it looks like there is nothing that
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1989  	 * they can do to advance the grace period.  It is therefore
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1990  	 * safe for us to drop the lock in order to mark the grace
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1991  	 * period as completed in all of the rcu_node structures.
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1992  	 */
67c583a7d kernel/rcu/tree.c Boqun Feng       2015-12-29  1993  	raw_spin_unlock_irq_rcu_node(rnp);
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1994  
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  1995  	/*
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01  1996  	 * Propagate new ->gp_seq value to rcu_node structures so that
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01  1997  	 * other CPUs don't have to wait until the start of the next grace
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01  1998  	 * period to process their callbacks.  This also avoids some nasty
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01  1999  	 * RCU grace-period initialization races by forcing the end of
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01  2000  	 * the current grace period to be completely recorded in all of
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01  2001  	 * the rcu_node structures before the beginning of the next grace
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01  2002  	 * period is recorded in any of the rcu_node structures.
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  2003  	 */
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26  2004  	new_gp_seq = rsp->gp_seq;
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26  2005  	rcu_seq_end(&new_gp_seq);
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  2006  	rcu_for_each_node_breadth_first(rsp, rnp) {
2a67e741b kernel/rcu/tree.c Peter Zijlstra   2015-10-08  2007  		raw_spin_lock_irq_rcu_node(rnp);
658cf23dd kernel/rcu/tree.c Paul E. McKenney 2018-04-30  2008  		if (WARN_ON_ONCE(rcu_preempt_blocked_readers_cgp(rnp)))
658cf23dd kernel/rcu/tree.c Paul E. McKenney 2018-04-30  2009  			dump_blkd_tasks(rnp, 10);
5c60d25fa kernel/rcu/tree.c Paul E. McKenney 2015-02-09  2010  		WARN_ON_ONCE(rnp->qsmask);
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26  2011  		WRITE_ONCE(rnp->gp_seq, new_gp_seq);
b11cc5760 kernel/rcutree.c  Paul E. McKenney 2012-12-17  2012  		rdp = this_cpu_ptr(rsp->rda);
b11cc5760 kernel/rcutree.c  Paul E. McKenney 2012-12-17  2013  		if (rnp == rdp->mynode)
48a7639ce kernel/rcu/tree.c Paul E. McKenney 2014-03-11  2014  			needgp = __note_gp_changes(rsp, rnp, rdp) || needgp;
78e4bc34e kernel/rcu/tree.c Paul E. McKenney 2013-09-24  2015  		/* smp_mb() provided by prior unlock-lock pair. */
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12  2016  		needgp = rcu_future_gp_cleanup(rsp, rnp) || needgp;
065bb78c5 kernel/rcu/tree.c Daniel Wagner    2016-02-19  2017  		sq = rcu_nocb_gp_get(rnp);
67c583a7d kernel/rcu/tree.c Boqun Feng       2015-12-29  2018  		raw_spin_unlock_irq_rcu_node(rnp);
065bb78c5 kernel/rcu/tree.c Daniel Wagner    2016-02-19  2019  		rcu_nocb_gp_cleanup(sq);
7be487444 kernel/rcu/tree.c Paul E. McKenney 2018-03-02  2020  		cond_resched_tasks_rcu_qs();
7d0ae8086 kernel/rcu/tree.c Paul E. McKenney 2015-03-03  2021  		WRITE_ONCE(rsp->gp_activity, jiffies);
0f41c0dda kernel/rcu/tree.c Paul E. McKenney 2015-03-10  2022  		rcu_gp_slow(rsp, gp_cleanup_delay);
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  2023  	}
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  2024  	rnp = rcu_get_root(rsp);
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26  2025  	raw_spin_lock_irq_rcu_node(rnp); /* GP before rsp->gp_seq update. */
cabc49c1f kernel/rcutree.c  Paul E. McKenney 2012-06-20  2026  
765a3f4fe kernel/rcu/tree.c Paul E. McKenney 2014-03-14  2027  	/* Declare grace period done. */
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26  2028  	rcu_seq_end(&rsp->gp_seq);
b0e0a91bf kernel/rcu/tree.c Paul E. McKenney 2018-05-01  2029  	trace_rcu_grace_period(rsp->name, rsp->gp_seq, TPS("end"));
77f81fe08 kernel/rcu/tree.c Petr Mladek      2015-09-09  2030  	rsp->gp_state = RCU_GP_IDLE;
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12  2031  	/* Check for GP requests since above loop. */
5d4b86594 kernel/rcutree.c  Paul E. McKenney 2012-07-07  2032  	rdp = this_cpu_ptr(rsp->rda);
a52f3505f kernel/rcu/tree.c Paul E. McKenney 2018-05-01  2033  	if (ULONG_CMP_LT(rnp->gp_seq, rnp->gp_seq_needed)) {
36399f0af kernel/rcu/tree.c Paul E. McKenney 2018-04-12 @2034  		trace_rcu_this_gp(rnp, rdp, rsp->completed - 1,
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12  2035  				  TPS("CleanupMore"));
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12  2036  		needgp = true;
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12  2037  	}
48a7639ce kernel/rcu/tree.c Paul E. McKenney 2014-03-11  2038  	/* Advance CBs to reduce false positives below. */
ba3d39d41 kernel/rcu/tree.c Paul E. McKenney 2018-04-12  2039  	if (!rcu_accelerate_cbs(rsp, rnp, rdp) && needgp) {
7d0ae8086 kernel/rcu/tree.c Paul E. McKenney 2015-03-03  2040  		WRITE_ONCE(rsp->gp_flags, RCU_GP_FLAG_INIT);
fe355ab27 kernel/rcu/tree.c Paul E. McKenney 2018-04-21  2041  		rsp->gp_req_activity = jiffies;
b0e0a91bf kernel/rcu/tree.c Paul E. McKenney 2018-05-01  2042  		trace_rcu_grace_period(rsp->name, READ_ONCE(rsp->gp_seq),
bb311eccb kernel/rcutree.c  Paul E. McKenney 2013-08-09  2043  				       TPS("newreq"));
d7e476b4e kernel/rcu/tree.c Paul E. McKenney 2018-04-22  2044  	} else {
5406da57f kernel/rcu/tree.c Paul E. McKenney 2018-04-19  2045  		WRITE_ONCE(rsp->gp_flags, rsp->gp_flags & RCU_GP_FLAG_INIT);
d7e476b4e kernel/rcu/tree.c Paul E. McKenney 2018-04-22  2046  	}
67c583a7d kernel/rcu/tree.c Boqun Feng       2015-12-29  2047  	raw_spin_unlock_irq_rcu_node(rnp);
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  2048  }
7fdefc10e kernel/rcutree.c  Paul E. McKenney 2012-06-22  2049  

:::::: The code at line 2034 was first introduced by commit
:::::: 36399f0aff0c32e86e0c30eb47262185db44ecd8 rcu: Make rcu_start_future_gp() caller select grace period

:::::: TO: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
:::::: CC: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (33011 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ