Hi Nikolay,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   cd77006e01b3198c75fb7819b3d0ff89709539bb
commit: e0458d9a733ba71a2821d0c3fc0745baac697db0 net: bridge: fdb: convert 
is_sticky to bitops
date:   8 months ago
config: s390-randconfig-r036-20200701 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 
003a086ffc0d1affbb8300b36225fb8150a2d40a)
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
        # install s390 cross compiling tool for clang build
        # apt-get install binutils-s390x-linux-gnu
        git checkout e0458d9a733ba71a2821d0c3fc0745baac697db0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390 

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

All errors (new ones prefixed by >>):

   In file included from include/linux/skbuff.h:31:
   In file included from include/linux/dma-mapping.h:11:
   In file included from include/linux/scatterlist.h:9:
   In file included from arch/s390/include/asm/io.h:76:
   include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro 
'__le32_to_cpu'
   #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
                                                             ^
   include/uapi/linux/swab.h:118:21: note: expanded from macro '__swab32'
           ___constant_swab32(x) :                 \
                              ^
   include/uapi/linux/swab.h:20:12: note: expanded from macro 
'___constant_swab32'
           (((__u32)(x) & (__u32)0x00ff0000UL) >>  8) |            \
                     ^
   In file included from net/bridge/br_fdb.c:15:
   In file included from include/linux/netdevice.h:37:
   In file included from include/linux/ethtool.h:18:
   In file included from include/uapi/linux/ethtool.h:19:
   In file included from include/linux/if_ether.h:19:
   In file included from include/linux/skbuff.h:31:
   In file included from include/linux/dma-mapping.h:11:
   In file included from include/linux/scatterlist.h:9:
   In file included from arch/s390/include/asm/io.h:76:
   include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro 
'__le32_to_cpu'
   #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
                                                             ^
   include/uapi/linux/swab.h:118:21: note: expanded from macro '__swab32'
           ___constant_swab32(x) :                 \
                              ^
   include/uapi/linux/swab.h:21:12: note: expanded from macro 
'___constant_swab32'
           (((__u32)(x) & (__u32)0xff000000UL) >> 24)))
                     ^
   In file included from net/bridge/br_fdb.c:15:
   In file included from include/linux/netdevice.h:37:
   In file included from include/linux/ethtool.h:18:
   In file included from include/uapi/linux/ethtool.h:19:
   In file included from include/linux/if_ether.h:19:
   In file included from include/linux/skbuff.h:31:
   In file included from include/linux/dma-mapping.h:11:
   In file included from include/linux/scatterlist.h:9:
   In file included from arch/s390/include/asm/io.h:76:
   include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro 
'__le32_to_cpu'
   #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
                                                             ^
   include/uapi/linux/swab.h:119:12: note: expanded from macro '__swab32'
           __fswab32(x))
                     ^
   In file included from net/bridge/br_fdb.c:15:
   In file included from include/linux/netdevice.h:37:
   In file included from include/linux/ethtool.h:18:
   In file included from include/uapi/linux/ethtool.h:19:
   In file included from include/linux/if_ether.h:19:
   In file included from include/linux/skbuff.h:31:
   In file included from include/linux/dma-mapping.h:11:
   In file included from include/linux/scatterlist.h:9:
   In file included from arch/s390/include/asm/io.h:76:
   include/asm-generic/io.h:503:33: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writeb(value, PCI_IOBASE + addr);
                               ~~~~~~~~~~ ^
   include/asm-generic/io.h:513:46: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writew(cpu_to_le16(value), PCI_IOBASE + addr);
                                            ~~~~~~~~~~ ^
   include/asm-generic/io.h:523:46: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writel(cpu_to_le32(value), PCI_IOBASE + addr);
                                            ~~~~~~~~~~ ^
   include/asm-generic/io.h:585:20: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           readsb(PCI_IOBASE + addr, buffer, count);
                  ~~~~~~~~~~ ^
   include/asm-generic/io.h:593:20: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           readsw(PCI_IOBASE + addr, buffer, count);
                  ~~~~~~~~~~ ^
   include/asm-generic/io.h:601:20: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           readsl(PCI_IOBASE + addr, buffer, count);
                  ~~~~~~~~~~ ^
   include/asm-generic/io.h:610:21: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           writesb(PCI_IOBASE + addr, buffer, count);
                   ~~~~~~~~~~ ^
   include/asm-generic/io.h:619:21: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           writesw(PCI_IOBASE + addr, buffer, count);
                   ~~~~~~~~~~ ^
   include/asm-generic/io.h:628:21: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           writesl(PCI_IOBASE + addr, buffer, count);
                   ~~~~~~~~~~ ^
   In file included from net/bridge/br_fdb.c:10:
   In file included from include/linux/kernel.h:12:
   In file included from include/linux/bitops.h:26:
   arch/s390/include/asm/bitops.h:69:4: error: invalid operand in inline asm: 
'oi       $0,${1:b}'
                           "oi     %0,%b1\n"
                           ^
   arch/s390/include/asm/bitops.h:69:4: error: invalid operand in inline asm: 
'oi       $0,${1:b}'
   error: invalid operand in inline asm: 'ni    $0,${1:b}'
   arch/s390/include/asm/bitops.h:69:4: error: invalid operand in inline asm: 
'oi       $0,${1:b}'
>> arch/s390/include/asm/bitops.h:112:4: error: invalid operand in inline asm: 
>> 'xi      $0,${1:b}'
                           "xi     %0,%b1\n"
                           ^
   arch/s390/include/asm/bitops.h:90:4: error: invalid operand in inline asm: 
'ni       $0,${1:b}'
                           "ni     %0,%b1\n"
                           ^
   20 warnings and 6 errors generated.

vim +112 arch/s390/include/asm/bitops.h

370b0b5f7744d6 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-16   58  
b4fd5a0a9295d8 arch/s390/include/asm/bitops.h Heiko Carstens 2019-10-04   59  
static __always_inline void arch_set_bit(unsigned long nr, volatile unsigned 
long *ptr)
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16   60  {
370b0b5f7744d6 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-16   61    
unsigned long *addr = __bitops_word(nr, ptr);
370b0b5f7744d6 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-16   62    
unsigned long mask;
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16   63  
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   64  
#ifdef CONFIG_HAVE_MARCH_ZEC12_FEATURES
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   65    
if (__builtin_constant_p(nr)) {
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   66    
        unsigned char *caddr = __bitops_byte(nr, ptr);
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   67  
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   68    
        asm volatile(
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  @69    
                "oi     %0,%b1\n"
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   70    
                : "+Q" (*caddr)
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   71    
                : "i" (1 << (nr & 7))
0ccc8b7ac86053 arch/s390/include/asm/bitops.h Heiko Carstens 2014-03-20   72    
                : "cc", "memory");
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   73    
        return;
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   74    
}
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   75  
#endif
01c2475f6d959e arch/s390/include/asm/bitops.h Akinobu Mita   2013-03-23   76    
mask = 1UL << (nr & (BITS_PER_LONG - 1));
4ae987894c0605 arch/s390/include/asm/bitops.h Arnd Bergmann  2019-04-15   77    
__atomic64_or(mask, (long *)addr);
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16   78  }
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16   79  
b4fd5a0a9295d8 arch/s390/include/asm/bitops.h Heiko Carstens 2019-10-04   80  
static __always_inline void arch_clear_bit(unsigned long nr, volatile unsigned 
long *ptr)
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16   81  {
370b0b5f7744d6 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-16   82    
unsigned long *addr = __bitops_word(nr, ptr);
370b0b5f7744d6 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-16   83    
unsigned long mask;
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16   84  
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   85  
#ifdef CONFIG_HAVE_MARCH_ZEC12_FEATURES
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   86    
if (__builtin_constant_p(nr)) {
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   87    
        unsigned char *caddr = __bitops_byte(nr, ptr);
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   88  
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   89    
        asm volatile(
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   90    
                "ni     %0,%b1\n"
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   91    
                : "+Q" (*caddr)
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   92    
                : "i" (~(1 << (nr & 7)))
0ccc8b7ac86053 arch/s390/include/asm/bitops.h Heiko Carstens 2014-03-20   93    
                : "cc", "memory");
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   94    
        return;
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   95    
}
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17   96  
#endif
01c2475f6d959e arch/s390/include/asm/bitops.h Akinobu Mita   2013-03-23   97    
mask = ~(1UL << (nr & (BITS_PER_LONG - 1)));
4ae987894c0605 arch/s390/include/asm/bitops.h Arnd Bergmann  2019-04-15   98    
__atomic64_and(mask, (long *)addr);
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16   99  }
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16  100  
b4fd5a0a9295d8 arch/s390/include/asm/bitops.h Heiko Carstens 2019-10-04  101  
static __always_inline void arch_change_bit(unsigned long nr,
9779048d71b18e arch/s390/include/asm/bitops.h Vasily Gorbik  2019-07-14  102    
                                    volatile unsigned long *ptr)
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16  103  {
370b0b5f7744d6 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-16  104    
unsigned long *addr = __bitops_word(nr, ptr);
370b0b5f7744d6 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-16  105    
unsigned long mask;
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16  106  
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  107  
#ifdef CONFIG_HAVE_MARCH_ZEC12_FEATURES
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  108    
if (__builtin_constant_p(nr)) {
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  109    
        unsigned char *caddr = __bitops_byte(nr, ptr);
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  110  
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  111    
        asm volatile(
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17 @112    
                "xi     %0,%b1\n"
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  113    
                : "+Q" (*caddr)
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  114    
                : "i" (1 << (nr & 7))
0ccc8b7ac86053 arch/s390/include/asm/bitops.h Heiko Carstens 2014-03-20  115    
                : "cc", "memory");
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  116    
        return;
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  117    
}
4ae803253e4649 arch/s390/include/asm/bitops.h Heiko Carstens 2013-09-17  118  
#endif
01c2475f6d959e arch/s390/include/asm/bitops.h Akinobu Mita   2013-03-23  119    
mask = 1UL << (nr & (BITS_PER_LONG - 1));
4ae987894c0605 arch/s390/include/asm/bitops.h Arnd Bergmann  2019-04-15  120    
__atomic64_xor(mask, (long *)addr);
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16  121  }
^1da177e4c3f41 include/asm-s390/bitops.h      Linus Torvalds 2005-04-16  122  

:::::: The code at line 112 was first introduced by commit
:::::: 4ae803253e4649803dc6e972bb5e59fc107cf474 s390/bitops: optimize set_bit() 
for constant values

:::::: TO: Heiko Carstens <heiko.carst...@de.ibm.com>
:::::: CC: Martin Schwidefsky <schwidef...@de.ibm.com>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to