Re: [PATCH 11/17] s390: Add airq_iv_lock

From: kernel test robot
Date: Fri Apr 09 2021 - 02:19:06 EST


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/6592d0d634dacfb6fd14d9a659050a85e39a953e
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 6592d0d634dacfb6fd14d9a659050a85e39a953e
# 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@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from arch/s390/pci/pci.c:33:
>> 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;
| ^~~~~~~~~~~~
--
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;
| ^~~~~~~~~~~~
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: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;
| ^~~~~~~~~~~~


vim +/airq_iv_lock +73 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

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

Attachment: .config.gz
Description: application/gzip