tree:
https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git
testing/pci_iounmap-fix
head: 442fc3646b69a4da912452fd6b79a4615d47eb88
commit: 442fc3646b69a4da912452fd6b79a4615d47eb88 [1/1] asm-generic: Fix default
pci_iounmap() generic implementation
config: nds32-randconfig-r004-20200909 (attached as .config)
compiler: nds32le-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
git checkout 442fc3646b69a4da912452fd6b79a4615d47eb88
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from arch/nds32/kernel/vdso/gettimeofday.c:4:
include/asm-generic/io.h: In function '__pci_ioport_unmap':
> include/asm-generic/io.h:1010:8: warning: ordered comparison of
pointer with null pointer [-Wextra]
1010 | if (p >= PCI_IOBASE && p
< PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
| ^~~~
include/asm-generic/io.h:1010:2: note: in expansion of macro 'if'
1010 | if (p >= PCI_IOBASE && p < PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
> include/asm-generic/io.h:1010:8: warning: ordered comparison of
pointer with null pointer [-Wextra]
1010 | if (p >= PCI_IOBASE && p
< PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
| ^~~~
include/asm-generic/io.h:1010:2: note: in expansion of macro 'if'
1010 | if (p >= PCI_IOBASE && p < PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
> include/asm-generic/io.h:1010:8: warning: ordered comparison of
pointer with null pointer [-Wextra]
1010 | if (p >= PCI_IOBASE && p
< PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/asm-generic/io.h:1010:2: note: in expansion of macro 'if'
1010 | if (p >= PCI_IOBASE && p < PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
arch/nds32/kernel/vdso/gettimeofday.c: At top level:
arch/nds32/kernel/vdso/gettimeofday.c:158:13: warning: no previous prototype for
'__vdso_clock_gettime' [-Wmissing-prototypes]
158 | notrace int __vdso_clock_gettime(clockid_t clkid, struct __kernel_old_timespec
*ts)
| ^~~~~~~~~~~~~~~~~~~~
arch/nds32/kernel/vdso/gettimeofday.c:206:13: warning: no previous prototype for
'__vdso_clock_getres' [-Wmissing-prototypes]
206 | notrace int __vdso_clock_getres(clockid_t clk_id, struct __kernel_old_timespec
*res)
| ^~~~~~~~~~~~~~~~~~~
arch/nds32/kernel/vdso/gettimeofday.c:246:13: warning: no previous prototype for
'__vdso_gettimeofday' [-Wmissing-prototypes]
246 | notrace int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct
timezone *tz)
| ^~~~~~~~~~~~~~~~~~~
--
<stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp]
In file included from arch/nds32/kernel/vdso/gettimeofday.c:4:
include/asm-generic/io.h: In function '__pci_ioport_unmap':
> include/asm-generic/io.h:1010:8: warning: ordered comparison of
pointer with null pointer [-Wextra]
1010 | if (p >= PCI_IOBASE && p
< PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
| ^~~~
include/asm-generic/io.h:1010:2: note: in expansion of macro 'if'
1010 | if (p >= PCI_IOBASE && p < PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
> include/asm-generic/io.h:1010:8: warning: ordered comparison of
pointer with null pointer [-Wextra]
1010 | if (p >= PCI_IOBASE && p
< PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) :
__trace_if_value(cond))
| ^~~~
include/asm-generic/io.h:1010:2: note: in expansion of macro 'if'
1010 | if (p >= PCI_IOBASE && p < PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
> include/asm-generic/io.h:1010:8: warning: ordered comparison of
pointer with null pointer [-Wextra]
1010 | if (p >= PCI_IOBASE && p
< PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/asm-generic/io.h:1010:2: note: in expansion of macro 'if'
1010 | if (p >= PCI_IOBASE && p < PCI_IOBASE + IO_SPACE_LIMIT)
| ^~
arch/nds32/kernel/vdso/gettimeofday.c: At top level:
arch/nds32/kernel/vdso/gettimeofday.c:158:13: warning: no previous prototype for
'__vdso_clock_gettime' [-Wmissing-prototypes]
158 | notrace int __vdso_clock_gettime(clockid_t clkid, struct __kernel_old_timespec
*ts)
| ^~~~~~~~~~~~~~~~~~~~
arch/nds32/kernel/vdso/gettimeofday.c:206:13: warning: no previous prototype for
'__vdso_clock_getres' [-Wmissing-prototypes]
206 | notrace int __vdso_clock_getres(clockid_t clk_id, struct __kernel_old_timespec
*res)
| ^~~~~~~~~~~~~~~~~~~
arch/nds32/kernel/vdso/gettimeofday.c:246:13: warning: no previous prototype for
'__vdso_gettimeofday' [-Wmissing-prototypes]
246 | notrace int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct
timezone *tz)
| ^~~~~~~~~~~~~~~~~~~
#
https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git/comm...
git remote add lpieralisi
https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git
git fetch --no-tags lpieralisi testing/pci_iounmap-fix
git checkout 442fc3646b69a4da912452fd6b79a4615d47eb88
vim +1010 include/asm-generic/io.h
997
998 #ifdef CONFIG_HAS_IOPORT_MAP
999 #ifndef CONFIG_GENERIC_IOMAP
1000 #ifndef ioport_map
1001 #define ioport_map ioport_map
1002 static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
1003 {
1004 port &= IO_SPACE_LIMIT;
1005 return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
1006 }
1007 #define __pci_ioport_unmap __pci_ioport_unmap
1008 static inline void __pci_ioport_unmap(void __iomem *p)
1009 {
1010 if (p >= PCI_IOBASE && p < PCI_IOBASE +
IO_SPACE_LIMIT)
1011 return;
1012 iounmap(p);
1013 }
1014 #endif
1015
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org