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]
Message-ID: <202206101537.a5KuHQgw-lkp@intel.com>
Date:   Fri, 10 Jun 2022 15:38:47 +0800
From:   kernel test robot <lkp@...el.com>
To:     Yury Norov <yury.norov@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [norov:fns 8/8] include/linux/export.h:57:43: error: redefinition of
 '__ksymtab__find_first_bit'

tree:   https://github.com/norov/linux fns
head:   785e34f40a6ad867ddc1fccf032a54bb41563865
commit: 785e34f40a6ad867ddc1fccf032a54bb41563865 [8/8] fns
config: arc-randconfig-r043-20220609 (https://download.01.org/0day-ci/archive/20220610/202206101537.a5KuHQgw-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/norov/linux/commit/785e34f40a6ad867ddc1fccf032a54bb41563865
        git remote add norov https://github.com/norov/linux
        git fetch --no-tags norov fns
        git checkout 785e34f40a6ad867ddc1fccf032a54bb41563865
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   In file included from lib/find_bit.c:17:
>> include/linux/export.h:57:43: error: redefinition of '__ksymtab__find_first_bit'
      57 |         static const struct kernel_symbol __ksymtab_##sym               \
         |                                           ^~~~~~~~~~
   include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY'
      96 |         __KSYMTAB_ENTRY(sym, sec)
         |         ^~~~~~~~~~~~~~~
   include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL'
     140 | #define __EXPORT_SYMBOL(sym, sec, ns)   ___EXPORT_SYMBOL(sym, sec, ns)
         |                                         ^~~~~~~~~~~~~~~~
   include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL'
     147 | #define _EXPORT_SYMBOL(sym, sec)        __EXPORT_SYMBOL(sym, sec, "")
         |                                         ^~~~~~~~~~~~~~~
   include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL'
     150 | #define EXPORT_SYMBOL(sym)              _EXPORT_SYMBOL(sym, "")
         |                                         ^~~~~~~~~~~~~~
   lib/find_bit.c:105:1: note: in expansion of macro 'EXPORT_SYMBOL'
     105 | EXPORT_SYMBOL(_find_first_bit);
         | ^~~~~~~~~~~~~
   include/linux/export.h:57:43: note: previous definition of '__ksymtab__find_first_bit' with type 'const struct kernel_symbol'
      57 |         static const struct kernel_symbol __ksymtab_##sym               \
         |                                           ^~~~~~~~~~
   include/linux/export.h:96:9: note: in expansion of macro '__KSYMTAB_ENTRY'
      96 |         __KSYMTAB_ENTRY(sym, sec)
         |         ^~~~~~~~~~~~~~~
   include/linux/export.h:140:41: note: in expansion of macro '___EXPORT_SYMBOL'
     140 | #define __EXPORT_SYMBOL(sym, sec, ns)   ___EXPORT_SYMBOL(sym, sec, ns)
         |                                         ^~~~~~~~~~~~~~~~
   include/linux/export.h:147:41: note: in expansion of macro '__EXPORT_SYMBOL'
     147 | #define _EXPORT_SYMBOL(sym, sec)        __EXPORT_SYMBOL(sym, sec, "")
         |                                         ^~~~~~~~~~~~~~~
   include/linux/export.h:150:41: note: in expansion of macro '_EXPORT_SYMBOL'
     150 | #define EXPORT_SYMBOL(sym)              _EXPORT_SYMBOL(sym, "")
         |                                         ^~~~~~~~~~~~~~
   lib/find_bit.c:89:1: note: in expansion of macro 'EXPORT_SYMBOL'
      89 | EXPORT_SYMBOL(_find_first_bit);
         | ^~~~~~~~~~~~~


vim +/__ksymtab__find_first_bit +57 include/linux/export.h

f50169324df4ad Paul Gortmaker    2011-05-23  31  
7290d58095712a Ard Biesheuvel    2018-08-21  32  #ifdef CONFIG_HAVE_ARCH_PREL32_RELOCATIONS
7290d58095712a Ard Biesheuvel    2018-08-21  33  #include <linux/compiler.h>
7290d58095712a Ard Biesheuvel    2018-08-21  34  /*
7290d58095712a Ard Biesheuvel    2018-08-21  35   * Emit the ksymtab entry as a pair of relative references: this reduces
7290d58095712a Ard Biesheuvel    2018-08-21  36   * the size by half on 64-bit architectures, and eliminates the need for
7290d58095712a Ard Biesheuvel    2018-08-21  37   * absolute relocations that require runtime processing on relocatable
7290d58095712a Ard Biesheuvel    2018-08-21  38   * kernels.
7290d58095712a Ard Biesheuvel    2018-08-21  39   */
7290d58095712a Ard Biesheuvel    2018-08-21  40  #define __KSYMTAB_ENTRY(sym, sec)					\
7290d58095712a Ard Biesheuvel    2018-08-21  41  	__ADDRESSABLE(sym)						\
7290d58095712a Ard Biesheuvel    2018-08-21  42  	asm("	.section \"___ksymtab" sec "+" #sym "\", \"a\"	\n"	\
ed13fc33f76303 Matthias Maennich 2019-09-06  43  	    "	.balign	4					\n"	\
7290d58095712a Ard Biesheuvel    2018-08-21  44  	    "__ksymtab_" #sym ":				\n"	\
7290d58095712a Ard Biesheuvel    2018-08-21  45  	    "	.long	" #sym "- .				\n"	\
7290d58095712a Ard Biesheuvel    2018-08-21  46  	    "	.long	__kstrtab_" #sym "- .			\n"	\
c3a6cf19e695c8 Masahiro Yamada   2019-10-18  47  	    "	.long	__kstrtabns_" #sym "- .			\n"	\
7290d58095712a Ard Biesheuvel    2018-08-21  48  	    "	.previous					\n")
7290d58095712a Ard Biesheuvel    2018-08-21  49  
7290d58095712a Ard Biesheuvel    2018-08-21  50  struct kernel_symbol {
7290d58095712a Ard Biesheuvel    2018-08-21  51  	int value_offset;
7290d58095712a Ard Biesheuvel    2018-08-21  52  	int name_offset;
8651ec01daedad Matthias Maennich 2019-09-06  53  	int namespace_offset;
7290d58095712a Ard Biesheuvel    2018-08-21  54  };
7290d58095712a Ard Biesheuvel    2018-08-21  55  #else
7290d58095712a Ard Biesheuvel    2018-08-21  56  #define __KSYMTAB_ENTRY(sym, sec)					\
7290d58095712a Ard Biesheuvel    2018-08-21 @57  	static const struct kernel_symbol __ksymtab_##sym		\
7290d58095712a Ard Biesheuvel    2018-08-21  58  	__attribute__((section("___ksymtab" sec "+" #sym), used))	\
ed13fc33f76303 Matthias Maennich 2019-09-06  59  	__aligned(sizeof(void *))					\
c3a6cf19e695c8 Masahiro Yamada   2019-10-18  60  	= { (unsigned long)&sym, __kstrtab_##sym, __kstrtabns_##sym }
7290d58095712a Ard Biesheuvel    2018-08-21  61  

:::::: The code at line 57 was first introduced by commit
:::::: 7290d58095712a89f845e1bca05334796dd49ed2 module: use relative references for __ksymtab entries

:::::: TO: Ard Biesheuvel <ard.biesheuvel@...aro.org>
:::::: CC: Linus Torvalds <torvalds@...ux-foundation.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ