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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202104091456.NZdfwqVW-lkp@intel.com>
Date:   Fri, 9 Apr 2021 14:37:39 +0800
From:   kernel test robot <lkp@...el.com>
To:     "Matthew Wilcox (Oracle)" <willy@...radead.org>, neilb@...e.de,
        peterz@...radead.org, mingo@...hat.com, will@...nel.org,
        longman@...hat.com, boqun.feng@...il.com, tglx@...utronix.de,
        bigeasy@...utronix.de
Cc:     kbuild-all@...ts.01.org,
        "Matthew Wilcox (Oracle)" <willy@...radead.org>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 17/17] bit_spinlock: Track bit spin locks with lockdep

Hi "Matthew,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on next-20210408]
[cannot apply to s390/features tip/x86/core dm/for-next gfs2/for-next block/for-next linus/master hnaz-linux-mm/master v5.12-rc6 v5.12-rc5 v5.12-rc4 v5.12-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Provide-lockdep-tracking-for-bit-spin-locks/20210409-110522
base:    6145d80cfc62e3ed8f16ff584d6287e6d88b82b9
config: s390-randconfig-r012-20210409 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.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/0day-ci/linux/commit/49054b182384e0b597db2cf81e733efbf67c89b7
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Provide-lockdep-tracking-for-bit-spin-locks/20210409-110522
        git checkout 49054b182384e0b597db2cf81e733efbf67c89b7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390 

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

All errors (new ones prefixed by >>):

   In file included from drivers/s390/cio/airq.c:21:
   arch/s390/include/asm/airq.h:73:20: error: 'airq_iv_lock' redeclared as different kind of symbol
      73 | static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit)
         |                    ^~~~~~~~~~~~
   arch/s390/include/asm/airq.h:29:23: note: previous declaration of 'airq_iv_lock' was here
      29 | extern struct iv_lock airq_iv_lock;
         |                       ^~~~~~~~~~~~
   arch/s390/include/asm/airq.h: In function 'airq_iv_lock':
>> arch/s390/include/asm/airq.h:76:45: error: passing argument 3 of 'bit_spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
      76 |  bit_spin_lock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock);
         |                                             ^~~~~~~~~~~~~
         |                                             |
         |                                             void (*)(struct airq_iv *, long unsigned int)
   In file included from include/linux/mm.h:22,
                    from include/linux/scatterlist.h:8,
                    from include/linux/dmapool.h:14,
                    from include/linux/pci.h:1464,
                    from arch/s390/include/asm/hw_irq.h:6,
                    from include/linux/irq.h:589,
                    from drivers/s390/cio/airq.c:13:
   include/linux/bit_spinlock.h:42:22: note: expected 'struct split_lock *' but argument is of type 'void (*)(struct airq_iv *, long unsigned int)'
      42 |   struct split_lock *lock)
         |   ~~~~~~~~~~~~~~~~~~~^~~~
   In file included from drivers/s390/cio/airq.c:21:
   arch/s390/include/asm/airq.h: In function 'airq_iv_unlock':
>> arch/s390/include/asm/airq.h:82:47: error: passing argument 3 of 'bit_spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
      82 |  bit_spin_unlock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock);
         |                                               ^~~~~~~~~~~~~
         |                                               |
         |                                               void (*)(struct airq_iv *, long unsigned int)
   In file included from include/linux/mm.h:22,
                    from include/linux/scatterlist.h:8,
                    from include/linux/dmapool.h:14,
                    from include/linux/pci.h:1464,
                    from arch/s390/include/asm/hw_irq.h:6,
                    from include/linux/irq.h:589,
                    from drivers/s390/cio/airq.c:13:
   include/linux/bit_spinlock.h:69:22: note: expected 'struct split_lock *' but argument is of type 'void (*)(struct airq_iv *, long unsigned int)'
      69 |   struct split_lock *lock)
         |   ~~~~~~~~~~~~~~~~~~~^~~~
   In file included from include/linux/bit_spinlock.h:9,
                    from include/linux/mm.h:22,
                    from include/linux/scatterlist.h:8,
                    from include/linux/dmapool.h:14,
                    from include/linux/pci.h:1464,
                    from arch/s390/include/asm/hw_irq.h:6,
                    from include/linux/irq.h:589,
                    from drivers/s390/cio/airq.c:13:
   drivers/s390/cio/airq.c: At top level:
   drivers/s390/cio/airq.c:34:19: error: 'airq_iv_lock' redeclared as different kind of symbol
      34 | DEFINE_SPLIT_LOCK(airq_iv_lock);
         |                   ^~~~~~~~~~~~
   include/linux/split_lock.h:23:19: note: in definition of macro 'DEFINE_SPLIT_LOCK'
      23 | struct split_lock name = {      \
         |                   ^~~~
   In file included from drivers/s390/cio/airq.c:21:
   arch/s390/include/asm/airq.h:73:20: note: previous definition of 'airq_iv_lock' was here
      73 | static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit)
         |                    ^~~~~~~~~~~~
   In file included from include/linux/linkage.h:7,
                    from include/linux/preempt.h:10,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from drivers/s390/cio/airq.c:13:
   drivers/s390/cio/airq.c:35:15: error: conflicting types for 'airq_iv_lock'
      35 | EXPORT_SYMBOL(airq_iv_lock);
         |               ^~~~~~~~~~~~
   include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
      98 |  extern typeof(sym) sym;       \
         |                     ^~~
   include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
     155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
         |                                  ^~~~~~~~~~~~~~~
   include/linux/export.h:158:29: note: in expansion of macro '_EXPORT_SYMBOL'
     158 | #define EXPORT_SYMBOL(sym)  _EXPORT_SYMBOL(sym, "")
         |                             ^~~~~~~~~~~~~~
   drivers/s390/cio/airq.c:35:1: note: in expansion of macro 'EXPORT_SYMBOL'
      35 | EXPORT_SYMBOL(airq_iv_lock);
         | ^~~~~~~~~~~~~
   In file included from drivers/s390/cio/airq.c:21:
   arch/s390/include/asm/airq.h:29:23: note: previous declaration of 'airq_iv_lock' was here
      29 | extern struct iv_lock airq_iv_lock;
         |                       ^~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from drivers/s390/cio/cio.c:30:
   arch/s390/include/asm/airq.h:73:20: error: 'airq_iv_lock' redeclared as different kind of symbol
      73 | static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit)
         |                    ^~~~~~~~~~~~
   arch/s390/include/asm/airq.h:29:23: note: previous declaration of 'airq_iv_lock' was here
      29 | extern struct iv_lock airq_iv_lock;
         |                       ^~~~~~~~~~~~
   arch/s390/include/asm/airq.h: In function 'airq_iv_lock':
>> arch/s390/include/asm/airq.h:76:45: error: passing argument 3 of 'bit_spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
      76 |  bit_spin_lock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock);
         |                                             ^~~~~~~~~~~~~
         |                                             |
         |                                             void (*)(struct airq_iv *, long unsigned int)
   In file included from include/linux/mm.h:22,
                    from include/linux/kallsyms.h:12,
                    from include/linux/ftrace.h:12,
                    from drivers/s390/cio/cio.c:15:
   include/linux/bit_spinlock.h:42:22: note: expected 'struct split_lock *' but argument is of type 'void (*)(struct airq_iv *, long unsigned int)'
      42 |   struct split_lock *lock)
         |   ~~~~~~~~~~~~~~~~~~~^~~~
   In file included from drivers/s390/cio/cio.c:30:
   arch/s390/include/asm/airq.h: In function 'airq_iv_unlock':
>> arch/s390/include/asm/airq.h:82:47: error: passing argument 3 of 'bit_spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
      82 |  bit_spin_unlock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock);
         |                                               ^~~~~~~~~~~~~
         |                                               |
         |                                               void (*)(struct airq_iv *, long unsigned int)
   In file included from include/linux/mm.h:22,
                    from include/linux/kallsyms.h:12,
                    from include/linux/ftrace.h:12,
                    from drivers/s390/cio/cio.c:15:
   include/linux/bit_spinlock.h:69:22: note: expected 'struct split_lock *' but argument is of type 'void (*)(struct airq_iv *, long unsigned int)'
      69 |   struct split_lock *lock)
         |   ~~~~~~~~~~~~~~~~~~~^~~~
   cc1: some warnings being treated as errors


vim +/bit_spin_lock +76 arch/s390/include/asm/airq.h

a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  72  
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  73  static inline void airq_iv_lock(struct airq_iv *iv, unsigned long bit)
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  74  {
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  75  	const unsigned long be_to_le = BITS_PER_LONG - 1;
6592d0d634dacf Matthew Wilcox (Oracle  2021-04-09 @76) 	bit_spin_lock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock);
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  77  }
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  78  
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  79  static inline void airq_iv_unlock(struct airq_iv *iv, unsigned long bit)
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  80  {
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  81  	const unsigned long be_to_le = BITS_PER_LONG - 1;
6592d0d634dacf Matthew Wilcox (Oracle  2021-04-09 @82) 	bit_spin_unlock(bit ^ be_to_le, iv->bitlock, &airq_iv_lock);
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  83  }
a9a6f0341df9a6 Martin Schwidefsky      2013-06-25  84  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (31332 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ