Hi Axel,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on tip/locking/core]
[also build test ERROR on tip/perf/core linux/master linus/master v5.8-rc1 next-20200618]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Axel-Rasmussen/Add-rwsem-contend...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
c935cd62d3fe985d7f0ebea185d2759e8992e96f
config: s390-randconfig-r005-20200619 (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
487ca07fcc75d52755c9fe2ee05bcb3b6eeeec44)
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-s390-linux-gnu
# 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 <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490: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: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)0x0000ff00UL) << 8) | \
^
In file included from kernel/trace/trace_events_hist.c:22:
In file included from kernel/trace/trace_synth.h:5:
In file included from kernel/trace/trace_dynevent.h:14:
In file included from kernel/trace/trace.h:9:
In file included from include/linux/clocksource.h:21:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490: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: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)0x00ff0000UL) >> 8) | \
^
In file included from kernel/trace/trace_events_hist.c:22:
In file included from kernel/trace/trace_synth.h:5:
In file included from kernel/trace/trace_dynevent.h:14:
In file included from kernel/trace/trace.h:9:
In file included from include/linux/clocksource.h:21:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490: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:21: note: expanded from macro '__swab32'
___constant_swab32(x) : \
^
include/uapi/linux/swab.h:22:12: note: expanded from macro
'___constant_swab32'
(((__u32)(x) & (__u32)0xff000000UL) >> 24)))
^
In file included from kernel/trace/trace_events_hist.c:22:
In file included from kernel/trace/trace_synth.h:5:
In file included from kernel/trace/trace_dynevent.h:14:
In file included from kernel/trace/trace.h:9:
In file included from include/linux/clocksource.h:21:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490: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:120:12: note: expanded from macro '__swab32'
__fswab32(x))
^
In file included from kernel/trace/trace_events_hist.c:22:
In file included from kernel/trace/trace_synth.h:5:
In file included from kernel/trace/trace_dynevent.h:14:
In file included from kernel/trace/trace.h:9:
In file included from include/linux/clocksource.h:21:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:501: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:511: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:521: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:609: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:617: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:625: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:634: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:643: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:652: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 kernel/trace/trace_events_hist.c:22:
In file included from kernel/trace/trace_synth.h:5:
In file included from kernel/trace/trace_dynevent.h:14:
> kernel/trace/trace.h:682:30: error: no member named
'trace_recursion' in 'struct task_struct'
unsigned int
val = current->trace_recursion;
~~~~~~~ ^
kernel/trace/trace.h:694:11: error: no member named 'trace_recursion' in
'struct task_struct'
current->trace_recursion = val;
~~~~~~~ ^
kernel/trace/trace.h:702:30: error: no member named 'trace_recursion' in
'struct task_struct'
unsigned int val = current->trace_recursion;
~~~~~~~ ^
kernel/trace/trace.h:711:11: error: no member named 'trace_recursion' in
'struct task_struct'
current->trace_recursion = val;
~~~~~~~ ^
> kernel/trace/trace_events_hist.c:834:3: error: implicit
declaration of function 'trace_array_put'
[-Werror,-Wimplicit-function-declaration]
trace_array_put(tr);
^
kernel/trace/trace_events_hist.c:834:3: note: did you mean 'trace_array_get'?
kernel/trace/trace.h:384:12: note: 'trace_array_get' declared here
extern int trace_array_get(struct trace_array *tr);
^
kernel/trace/trace_events_hist.c:860:2: error: implicit declaration of function
'trace_array_put' [-Werror,-Wimplicit-function-declaration]
trace_array_put(tr);
^
20 warnings and 6 errors generated.
vim +682 kernel/trace/trace.h
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 679
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 680 static __always_inline int
trace_test_and_set_recursion(int start, int max)
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 681 {
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 @682 unsigned int val =
current->trace_recursion;
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 683 int bit;
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 684
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 685 /* A previous recursion check was made
*/
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 686 if ((val & TRACE_CONTEXT_MASK) >
max)
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 687 return 0;
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 688
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 689 bit = trace_get_context_bit() + start;
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 690 if (unlikely(val & (1 <<
bit)))
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 691 return -1;
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 692
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 693 val |= 1 << bit;
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 694 current->trace_recursion = val;
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 695 barrier();
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 696
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 697 return bit;
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 698 }
edc15cafcbfa3d7 Steven Rostedt 2012-11-02 699
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org