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:   Tue, 3 Jul 2018 12:08:33 +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 117/117] include/linux/export.h:61:20: error: redefinition
 of '__kstrtab_call_rcu_sched'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
head:   3981406d6621b8a72a873bdc88d0a95d2e928c9e
commit: 3981406d6621b8a72a873bdc88d0a95d2e928c9e [117/117] rcu: Define RCU-sched API in terms of RCU for Tree RCU PREEMPT builds
config: x86_64-randconfig-x019-201826 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        git checkout 3981406d6621b8a72a873bdc88d0a95d2e928c9e
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   kernel//rcu/tree.c:2996:6: error: redefinition of 'call_rcu_sched'
    void call_rcu_sched(struct rcu_head *head, rcu_callback_t func)
         ^~~~~~~~~~~~~~
   In file included from include/linux/rcupdate_wait.h:9:0,
                    from kernel//rcu/tree.c:38:
   include/linux/rcupdate.h:53:18: note: previous definition of 'call_rcu_sched' was here
    #define call_rcu call_rcu_sched
                     ^
   kernel//rcu/tree.c:2983:6: note: in expansion of macro 'call_rcu'
    void call_rcu(struct rcu_head *head, rcu_callback_t func)
         ^~~~~~~~
   In file included from include/linux/linkage.h:7:0,
                    from include/linux/kernel.h:7,
                    from kernel//rcu/tree.c:34:
>> include/linux/export.h:61:20: error: redefinition of '__kstrtab_call_rcu_sched'
     static const char __kstrtab_##sym[]    \
                       ^
   include/linux/export.h:94:25: note: in expansion of macro '___EXPORT_SYMBOL'
    #define __EXPORT_SYMBOL ___EXPORT_SYMBOL
                            ^~~~~~~~~~~~~~~~
   include/linux/export.h:101:2: note: in expansion of macro '__EXPORT_SYMBOL'
     __EXPORT_SYMBOL(sym, "_gpl")
     ^~~~~~~~~~~~~~~
>> kernel//rcu/tree.c:3000:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(call_rcu_sched);
    ^~~~~~~~~~~~~~~~~
   include/linux/export.h:61:20: note: previous definition of '__kstrtab_call_rcu_sched' was here
     static const char __kstrtab_##sym[]    \
                       ^
   include/linux/export.h:94:25: note: in expansion of macro '___EXPORT_SYMBOL'
    #define __EXPORT_SYMBOL ___EXPORT_SYMBOL
                            ^~~~~~~~~~~~~~~~
   include/linux/export.h:101:2: note: in expansion of macro '__EXPORT_SYMBOL'
     __EXPORT_SYMBOL(sym, "_gpl")
     ^~~~~~~~~~~~~~~
   kernel//rcu/tree.c:2987:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(call_rcu);
    ^~~~~~~~~~~~~~~~~
   include/linux/export.h:64:36: error: redefinition of '__ksymtab_call_rcu_sched'
     static const struct kernel_symbol __ksymtab_##sym  \
                                       ^
   include/linux/export.h:94:25: note: in expansion of macro '___EXPORT_SYMBOL'
    #define __EXPORT_SYMBOL ___EXPORT_SYMBOL
                            ^~~~~~~~~~~~~~~~
   include/linux/export.h:101:2: note: in expansion of macro '__EXPORT_SYMBOL'
     __EXPORT_SYMBOL(sym, "_gpl")
     ^~~~~~~~~~~~~~~
>> kernel//rcu/tree.c:3000:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(call_rcu_sched);
    ^~~~~~~~~~~~~~~~~
   include/linux/export.h:64:36: note: previous definition of '__ksymtab_call_rcu_sched' was here
     static const struct kernel_symbol __ksymtab_##sym  \
                                       ^
   include/linux/export.h:94:25: note: in expansion of macro '___EXPORT_SYMBOL'
    #define __EXPORT_SYMBOL ___EXPORT_SYMBOL
                            ^~~~~~~~~~~~~~~~
   include/linux/export.h:101:2: note: in expansion of macro '__EXPORT_SYMBOL'
     __EXPORT_SYMBOL(sym, "_gpl")
     ^~~~~~~~~~~~~~~
   kernel//rcu/tree.c:2987:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(call_rcu);
    ^~~~~~~~~~~~~~~~~
--
   kernel/rcu/tree.c:2996:6: error: redefinition of 'call_rcu_sched'
    void call_rcu_sched(struct rcu_head *head, rcu_callback_t func)
         ^~~~~~~~~~~~~~
   In file included from include/linux/rcupdate_wait.h:9:0,
                    from kernel/rcu/tree.c:38:
   include/linux/rcupdate.h:53:18: note: previous definition of 'call_rcu_sched' was here
    #define call_rcu call_rcu_sched
                     ^
   kernel/rcu/tree.c:2983:6: note: in expansion of macro 'call_rcu'
    void call_rcu(struct rcu_head *head, rcu_callback_t func)
         ^~~~~~~~
   In file included from include/linux/linkage.h:7:0,
                    from include/linux/kernel.h:7,
                    from kernel/rcu/tree.c:34:
>> include/linux/export.h:61:20: error: redefinition of '__kstrtab_call_rcu_sched'
     static const char __kstrtab_##sym[]    \
                       ^
   include/linux/export.h:94:25: note: in expansion of macro '___EXPORT_SYMBOL'
    #define __EXPORT_SYMBOL ___EXPORT_SYMBOL
                            ^~~~~~~~~~~~~~~~
   include/linux/export.h:101:2: note: in expansion of macro '__EXPORT_SYMBOL'
     __EXPORT_SYMBOL(sym, "_gpl")
     ^~~~~~~~~~~~~~~
   kernel/rcu/tree.c:3000:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(call_rcu_sched);
    ^~~~~~~~~~~~~~~~~
   include/linux/export.h:61:20: note: previous definition of '__kstrtab_call_rcu_sched' was here
     static const char __kstrtab_##sym[]    \
                       ^
   include/linux/export.h:94:25: note: in expansion of macro '___EXPORT_SYMBOL'
    #define __EXPORT_SYMBOL ___EXPORT_SYMBOL
                            ^~~~~~~~~~~~~~~~
   include/linux/export.h:101:2: note: in expansion of macro '__EXPORT_SYMBOL'
     __EXPORT_SYMBOL(sym, "_gpl")
     ^~~~~~~~~~~~~~~
   kernel/rcu/tree.c:2987:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(call_rcu);
    ^~~~~~~~~~~~~~~~~
   include/linux/export.h:64:36: error: redefinition of '__ksymtab_call_rcu_sched'
     static const struct kernel_symbol __ksymtab_##sym  \
                                       ^
   include/linux/export.h:94:25: note: in expansion of macro '___EXPORT_SYMBOL'
    #define __EXPORT_SYMBOL ___EXPORT_SYMBOL
                            ^~~~~~~~~~~~~~~~
   include/linux/export.h:101:2: note: in expansion of macro '__EXPORT_SYMBOL'
     __EXPORT_SYMBOL(sym, "_gpl")
     ^~~~~~~~~~~~~~~
   kernel/rcu/tree.c:3000:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(call_rcu_sched);
    ^~~~~~~~~~~~~~~~~
   include/linux/export.h:64:36: note: previous definition of '__ksymtab_call_rcu_sched' was here
     static const struct kernel_symbol __ksymtab_##sym  \
                                       ^
   include/linux/export.h:94:25: note: in expansion of macro '___EXPORT_SYMBOL'
    #define __EXPORT_SYMBOL ___EXPORT_SYMBOL
                            ^~~~~~~~~~~~~~~~
   include/linux/export.h:101:2: note: in expansion of macro '__EXPORT_SYMBOL'
     __EXPORT_SYMBOL(sym, "_gpl")
     ^~~~~~~~~~~~~~~
   kernel/rcu/tree.c:2987:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
    EXPORT_SYMBOL_GPL(call_rcu);
    ^~~~~~~~~~~~~~~~~

vim +/__kstrtab_call_rcu_sched +61 include/linux/export.h

f5016932 Paul Gortmaker  2011-05-23  56  
f5016932 Paul Gortmaker  2011-05-23  57  /* For every exported symbol, place a struct in the __ksymtab section */
f2355416 Nicolas Pitre   2016-01-22  58  #define ___EXPORT_SYMBOL(sym, sec)					\
f5016932 Paul Gortmaker  2011-05-23  59  	extern typeof(sym) sym;						\
f5016932 Paul Gortmaker  2011-05-23  60  	__CRC_SYMBOL(sym, sec)						\
f5016932 Paul Gortmaker  2011-05-23 @61  	static const char __kstrtab_##sym[]				\
f5016932 Paul Gortmaker  2011-05-23  62  	__attribute__((section("__ksymtab_strings"), aligned(1)))	\
94e58e0a Masahiro Yamada 2018-05-09  63  	= #sym;								\
b67067f1 Nicholas Piggin 2016-08-24  64  	static const struct kernel_symbol __ksymtab_##sym		\
f5016932 Paul Gortmaker  2011-05-23  65  	__used								\
b67067f1 Nicholas Piggin 2016-08-24  66  	__attribute__((section("___ksymtab" sec "+" #sym), used))	\
f5016932 Paul Gortmaker  2011-05-23  67  	= { (unsigned long)&sym, __kstrtab_##sym }
f5016932 Paul Gortmaker  2011-05-23  68  

:::::: The code at line 61 was first introduced by commit
:::::: f50169324df4ad942e544386d136216c8617636a module.h: split out the EXPORT_SYMBOL into export.h

:::::: TO: Paul Gortmaker <paul.gortmaker@...driver.com>
:::::: CC: Paul Gortmaker <paul.gortmaker@...driver.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" (29321 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ