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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Tue, 6 Jun 2017 08:20:01 -0700
From:   "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To:     kbuild test robot <fengguang.wu@...el.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org
Subject: Re: [rcu:rcu/next 64/99] kernel/rcu/srcu.c:517:15: error:
 redefinition of 'srcu_batches_completed'

On Tue, Jun 06, 2017 at 06:22:32AM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
> head:   5c246613fb794485c9af0c20dff8218abfc848aa
> commit: dec7813dfa40f7a48b0f3d9e48fe7bcf0b1b622d [64/99] srcu: Shrink srcu.h by moving docbook and private function
> config: x86_64-randconfig-x006-201723 (attached as .config)
> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
> reproduce:
>         git checkout dec7813dfa40f7a48b0f3d9e48fe7bcf0b1b622d
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
> 
> Note: the rcu/rcu/next HEAD 5c246613fb794485c9af0c20dff8218abfc848aa builds fine.
>       It only hurts bisectibility.

Good catch!

However, given that you have to have !SMP&&CLASSIC_SRCU to hit this,
and given that CLASSIC_SRCU goes away in this series, you would have to
work to have a bisection problem in this range.

In theory, I could move commit 0ce2e8a0aa44 ("srcu: Remove Classic SRCU")
before commit dec7813dfa40 ("srcu: Shrink srcu.h by moving docbook and
private function"), but in practice, this would introduce more risk than
leaving the bisection window open.  So I will leave this one alone.

							Thanx, Paul

> All errors (new ones prefixed by >>):
> 
> >> kernel/rcu/srcu.c:517:15: error: redefinition of 'srcu_batches_completed'
>     unsigned long srcu_batches_completed(struct srcu_struct *sp)
>                   ^~~~~~~~~~~~~~~~~~~~~~
>    In file included from kernel/rcu/srcu.c:39:0:
>    kernel/rcu/rcu.h:495:29: note: previous definition of 'srcu_batches_completed' was here
>     static inline unsigned long srcu_batches_completed(struct srcu_struct *sp)
>                                 ^~~~~~~~~~~~~~~~~~~~~~
> 
> vim +/srcu_batches_completed +517 kernel/rcu/srcu.c
> 
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  511   * srcu_batches_completed - return batches completed.
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  512   * @sp: srcu_struct on which to report batch completion.
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  513   *
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  514   * Report the number of batches, correlated with, but not necessarily
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  515   * precisely the same as, the number of grace periods that have elapsed.
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  516   */
> a5c198f4 kernel/rcu/srcu.c Paul E. McKenney 2014-11-23 @517  unsigned long srcu_batches_completed(struct srcu_struct *sp)
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  518  {
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  519  	return sp->completed;
> 621934ee kernel/srcu.c     Paul E. McKenney 2006-10-04  520  }
> 
> :::::: The code at line 517 was first introduced by commit
> :::::: a5c198f4f7da6cc48116ca239c59c9f44b753364 rcu: Expand SRCU ->completed to 64 bits
> 
> :::::: 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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ