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:   Sat, 29 Apr 2017 20:33:20 -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:dev.2017.04.28a 41/45] include/linux/notifier.h:77:21:
 error: field 'srcu' has incomplete type

On Sun, Apr 30, 2017 at 07:32:17AM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2017.04.28a
> head:   1205059ca5d4835e9213ff943ce3a51980718b5d
> commit: e01ef0529ed548c1b30206058c2b5eecbbc07998 [41/45] srcu: Make SRCU be once again optional
> 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 e01ef0529ed548c1b30206058c2b5eecbbc07998
>         # save the attached .config to linux build tree
>         make.cross ARCH=sparc64 
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/linux/memory_hotplug.h:6:0,
>                     from include/linux/mmzone.h:749,
>                     from include/linux/gfp.h:5,
>                     from include/linux/kmod.h:22,
>                     from include/linux/module.h:13,
>                     from init/main.c:16:
> >> include/linux/notifier.h:77:21: error: field 'srcu' has incomplete type
>      struct srcu_struct srcu;
>                         ^~~~

Hmmm...

This sort of thing has been legal for quite some time, so I am taking
the crude step of providing an empty definition for srcu_struct when
building with CONFIG_SRCU=n.

							Thanx, Paul

> vim +/srcu +77 include/linux/notifier.h
> 
> e041c6834 Alan Stern    2006-03-27  61  struct atomic_notifier_head {
> e041c6834 Alan Stern    2006-03-27  62  	spinlock_t lock;
> 374a8e0dc Arnd Bergmann 2010-02-24  63  	struct notifier_block __rcu *head;
> e041c6834 Alan Stern    2006-03-27  64  };
> e041c6834 Alan Stern    2006-03-27  65  
> e041c6834 Alan Stern    2006-03-27  66  struct blocking_notifier_head {
> e041c6834 Alan Stern    2006-03-27  67  	struct rw_semaphore rwsem;
> 374a8e0dc Arnd Bergmann 2010-02-24  68  	struct notifier_block __rcu *head;
> e041c6834 Alan Stern    2006-03-27  69  };
> e041c6834 Alan Stern    2006-03-27  70  
> e041c6834 Alan Stern    2006-03-27  71  struct raw_notifier_head {
> 374a8e0dc Arnd Bergmann 2010-02-24  72  	struct notifier_block __rcu *head;
> e041c6834 Alan Stern    2006-03-27  73  };
> e041c6834 Alan Stern    2006-03-27  74  
> eabc06940 Alan Stern    2006-10-04  75  struct srcu_notifier_head {
> eabc06940 Alan Stern    2006-10-04  76  	struct mutex mutex;
> eabc06940 Alan Stern    2006-10-04 @77  	struct srcu_struct srcu;
> 374a8e0dc Arnd Bergmann 2010-02-24  78  	struct notifier_block __rcu *head;
> eabc06940 Alan Stern    2006-10-04  79  };
> eabc06940 Alan Stern    2006-10-04  80  
> e041c6834 Alan Stern    2006-03-27  81  #define ATOMIC_INIT_NOTIFIER_HEAD(name) do {	\
> e041c6834 Alan Stern    2006-03-27  82  		spin_lock_init(&(name)->lock);	\
> e041c6834 Alan Stern    2006-03-27  83  		(name)->head = NULL;		\
> e041c6834 Alan Stern    2006-03-27  84  	} while (0)
> e041c6834 Alan Stern    2006-03-27  85  #define BLOCKING_INIT_NOTIFIER_HEAD(name) do {	\
> 
> :::::: The code at line 77 was first introduced by commit
> :::::: eabc069401bcf45bcc3f19e643017bf761780aa8 [PATCH] Add SRCU-based notifier chains
> 
> :::::: TO: Alan Stern <stern@...land.harvard.edu>
> :::::: CC: Linus Torvalds <torvalds@...osdl.org>
> 
> ---
> 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