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:   Sun, 26 Mar 2017 04:08:05 +0800
From:   kbuild test robot <fengguang.wu@...el.com>
To:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org
Subject: [rcu:rcu/next 53/55] include/linux/srcu.h:60:28: error:
 linux/srcutiny.h: No such file or directory

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head:   8ef41abc6267ab874db4f767866cc09b85a1f951
commit: c574d9a57769f1941153c41e5cfcd2bb13911cc3 [53/55] srcu: Create a tiny SRCU
config: x86_64-randconfig-a0-03260238 (attached as .config)
compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7
reproduce:
        git checkout c574d9a57769f1941153c41e5cfcd2bb13911cc3
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   In file included from include/linux/notifier.h:15,
                    from include/linux/memory_hotplug.h:6,
                    from include/linux/mmzone.h:749,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from include/linux/crypto.h:24,
                    from arch/x86/kernel/asm-offsets.c:8:
>> include/linux/srcu.h:60:28: error: linux/srcutiny.h: No such file or directory
   In file included from include/linux/notifier.h:15,
                    from include/linux/memory_hotplug.h:6,
                    from include/linux/mmzone.h:749,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from include/linux/crypto.h:24,
                    from arch/x86/kernel/asm-offsets.c:8:
   include/linux/srcu.h: In function 'srcu_read_lock_held':
>> include/linux/srcu.h:113: error: dereferencing pointer to incomplete type
   include/linux/srcu.h: In function 'srcu_read_lock':
   include/linux/srcu.h:176: error: dereferencing pointer to incomplete type
   include/linux/srcu.h: In function 'srcu_read_unlock':
   include/linux/srcu.h:190: error: dereferencing pointer to incomplete type
   In file included from include/linux/memory_hotplug.h:6,
                    from include/linux/mmzone.h:749,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from include/linux/crypto.h:24,
                    from arch/x86/kernel/asm-offsets.c:8:
   include/linux/notifier.h: At top level:
>> include/linux/notifier.h:77: error: field 'srcu' has incomplete type
   make[2]: *** [arch/x86/kernel/asm-offsets.s] Error 1
   make[2]: Target '__build' not remade because of errors.
   make[1]: *** [prepare0] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [sub-make] Error 2

vim +60 include/linux/srcu.h

    54	int init_srcu_struct(struct srcu_struct *sp);
    55	
    56	#define __SRCU_DEP_MAP_INIT(srcu_name)
    57	#endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */
    58	
    59	#ifdef CONFIG_TINY_SRCU
  > 60	#include <linux/srcutiny.h>
    61	#elif defined(CONFIG_TREE_SRCU)
    62	#include <linux/srcutree.h>
    63	#else
    64	#error "Unknown SRCU implementation specified to kernel configuration"
    65	#endif
    66	
    67	/**
    68	 * call_srcu() - Queue a callback for invocation after an SRCU grace period
    69	 * @sp: srcu_struct in queue the callback
    70	 * @head: structure to be used for queueing the SRCU callback.
    71	 * @func: function to be invoked after the SRCU grace period
    72	 *
    73	 * The callback function will be invoked some time after a full SRCU
    74	 * grace period elapses, in other words after all pre-existing SRCU
    75	 * read-side critical sections have completed.  However, the callback
    76	 * function might well execute concurrently with other SRCU read-side
    77	 * critical sections that started after call_srcu() was invoked.  SRCU
    78	 * read-side critical sections are delimited by srcu_read_lock() and
    79	 * srcu_read_unlock(), and may be nested.
    80	 *
    81	 * The callback will be invoked from process context, but must nevertheless
    82	 * be fast and must not block.
    83	 */
    84	void call_srcu(struct srcu_struct *sp, struct rcu_head *head,
    85			void (*func)(struct rcu_head *head));
    86	
    87	void cleanup_srcu_struct(struct srcu_struct *sp);
    88	int __srcu_read_lock(struct srcu_struct *sp) __acquires(sp);
    89	void __srcu_read_unlock(struct srcu_struct *sp, int idx) __releases(sp);
    90	void synchronize_srcu(struct srcu_struct *sp);
    91	
    92	#ifdef CONFIG_DEBUG_LOCK_ALLOC
    93	
    94	/**
    95	 * srcu_read_lock_held - might we be in SRCU read-side critical section?
    96	 *
    97	 * If CONFIG_DEBUG_LOCK_ALLOC is selected, returns nonzero iff in an SRCU
    98	 * read-side critical section.  In absence of CONFIG_DEBUG_LOCK_ALLOC,
    99	 * this assumes we are in an SRCU read-side critical section unless it can
   100	 * prove otherwise.
   101	 *
   102	 * Checks debug_lockdep_rcu_enabled() to prevent false positives during boot
   103	 * and while lockdep is disabled.
   104	 *
   105	 * Note that SRCU is based on its own statemachine and it doesn't
   106	 * relies on normal RCU, it can be called from the CPU which
   107	 * is in the idle loop from an RCU point of view or offline.
   108	 */
   109	static inline int srcu_read_lock_held(struct srcu_struct *sp)
   110	{
   111		if (!debug_lockdep_rcu_enabled())
   112			return 1;
 > 113		return lock_is_held(&sp->dep_map);
   114	}
   115	
   116	#else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */

---
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" (25511 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ