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>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 23 Apr 2017 13:04:42 -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/urgent 11/11] include/linux/srcu.h:66:2: error: #error
 "Unknown SRCU implementation specified to kernel configuration"

On Mon, Apr 24, 2017 at 03:00:38AM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/urgent
> head:   746ec1f689abc74dca72fdce4134decdbfaec295
> commit: 746ec1f689abc74dca72fdce4134decdbfaec295 [11/11] srcu: Fix Kconfig botch when SRCU not selected
> config: sparc64-allnoconfig (attached as .config)
> compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
>         wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 746ec1f689abc74dca72fdce4134decdbfaec295
>         # save the attached .config to linux build tree
>         make.cross ARCH=sparc64 
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/linux/notifier.h:15:0,
>                     from include/linux/pm_qos.h:8,
>                     from kernel/power/qos.c:32:
> >> include/linux/srcu.h:66:2: error: #error "Unknown SRCU implementation specified to kernel configuration"
>     #error "Unknown SRCU implementation specified to kernel configuration"
>      ^~~~~
>    In file included from include/linux/pm_qos.h:8:0,
>                     from kernel/power/qos.c:32:
> >> include/linux/notifier.h:77:21: error: field 'srcu' has incomplete type
>      struct srcu_struct srcu;
>                         ^~~~

And it appears that there is much code that includes srcu.h without
having "select SRCU", which underlines the point that SRCU is no longer
optional.  Patch below, pushing to -rcu as well.

------------------------------------------------------------------------

commit b0d5280678ad03d0b8dbdbe827c9e31c43923e02
Author: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
Date:   Sun Apr 23 12:50:59 2017 -0700

    srcu: Make SRCU be built by default
    
    SRCU is optional, and included only if there is a "select SRCU" in effect.
    However, we now have Tiny SRCU, so this commit defaults CONFIG_SRCU=y.
    
    Reported-by: kbuild test robot <fengguang.wu@...el.com>
    Signed-off-by: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>

diff --git a/init/Kconfig b/init/Kconfig
index fe72c12e06a5..42a346b0df43 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -521,6 +521,7 @@ config RCU_EXPERT
 
 config SRCU
 	bool
+	default y
 	help
 	  This option selects the sleepable version of RCU. This version
 	  permits arbitrary sleeping or blocking within RCU read-side critical

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ