Re: [PATCH] ftrace: Make ftrace_regs abstract from direct use

From: Steven Rostedt
Date: Thu Oct 10 2024 - 20:31:23 EST


On Fri, 11 Oct 2024 08:00:21 +0800
kernel test robot <lkp@xxxxxxxxx> wrote:

> Hi Steven,
>
> kernel test robot noticed the following build errors:

Hmm,

I wonder if we can not waste resources if a v2 version of a patch is sent
out. Not sure when this was picked up, but I sent out an updated version
with this fixed yesterday.

https://lore.kernel.org/all/20241008230628.958778821@xxxxxxxxxxx/

-- Steve


>
> [auto build test ERROR on next-20241004]
> [cannot apply to s390/features arm64/for-next/core powerpc/next powerpc/fixes linus/master v6.12-rc2 v6.12-rc1 v6.11 v6.12-rc2]
> [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#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Steven-Rostedt/ftrace-Make-ftrace_regs-abstract-from-direct-use/20241008-084930
> base: next-20241004
> patch link: https://lore.kernel.org/r/20241007204743.41314f1d%40gandalf.local.home
> patch subject: [PATCH] ftrace: Make ftrace_regs abstract from direct use
> config: um-allnoconfig (https://download.01.org/0day-ci/archive/20241011/202410110707.uHvgl9S7-lkp@xxxxxxxxx/config)
> compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241011/202410110707.uHvgl9S7-lkp@xxxxxxxxx/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202410110707.uHvgl9S7-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> In file included from kernel/time/time.c:31:
> In file included from include/linux/timekeeper_internal.h:10:
> In file included from include/linux/clocksource.h:22:
> In file included from arch/um/include/asm/io.h:24:
> include/asm-generic/io.h:548:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 548 | val = __raw_readb(PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:561:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 561 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
> | ~~~~~~~~~~ ^
> include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
> 37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
> | ^
> In file included from kernel/time/time.c:31:
> In file included from include/linux/timekeeper_internal.h:10:
> In file included from include/linux/clocksource.h:22:
> In file included from arch/um/include/asm/io.h:24:
> include/asm-generic/io.h:574:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 574 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
> | ~~~~~~~~~~ ^
> include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
> 35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
> | ^
> In file included from kernel/time/time.c:31:
> In file included from include/linux/timekeeper_internal.h:10:
> In file included from include/linux/clocksource.h:22:
> In file included from arch/um/include/asm/io.h:24:
> include/asm-generic/io.h:585:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 585 | __raw_writeb(value, PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:595:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 595 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:605:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 605 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:693:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 693 | readsb(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:701:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 701 | readsw(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:709:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 709 | readsl(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:718:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 718 | writesb(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:727:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 727 | writesw(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:736:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 736 | writesl(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> In file included from kernel/time/time.c:33:
> In file included from include/linux/syscalls.h:93:
> In file included from include/trace/syscall.h:7:
> In file included from include/linux/trace_events.h:10:
> In file included from include/linux/perf_event.h:52:
> In file included from include/linux/ftrace.h:23:
> In file included from ./arch/um/include/generated/asm/ftrace.h:1:
> >> include/asm-generic/ftrace.h:5:2: error: unterminated conditional directive
> 5 | #ifndef __ASM_GENERIC_FTRACE_H__
> | ^
> 12 warnings and 1 error generated.
> --
> In file included from kernel/time/hrtimer.c:30:
> In file included from include/linux/syscalls.h:93:
> In file included from include/trace/syscall.h:7:
> In file included from include/linux/trace_events.h:9:
> In file included from include/linux/hardirq.h:11:
> In file included from arch/um/include/asm/hardirq.h:5:
> In file included from include/asm-generic/hardirq.h:17:
> In file included from include/linux/irq.h:20:
> In file included from include/linux/io.h:14:
> In file included from arch/um/include/asm/io.h:24:
> include/asm-generic/io.h:548:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 548 | val = __raw_readb(PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:561:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 561 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
> | ~~~~~~~~~~ ^
> include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
> 37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
> | ^
> In file included from kernel/time/hrtimer.c:30:
> In file included from include/linux/syscalls.h:93:
> In file included from include/trace/syscall.h:7:
> In file included from include/linux/trace_events.h:9:
> In file included from include/linux/hardirq.h:11:
> In file included from arch/um/include/asm/hardirq.h:5:
> In file included from include/asm-generic/hardirq.h:17:
> In file included from include/linux/irq.h:20:
> In file included from include/linux/io.h:14:
> In file included from arch/um/include/asm/io.h:24:
> include/asm-generic/io.h:574:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 574 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
> | ~~~~~~~~~~ ^
> include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
> 35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
> | ^
> In file included from kernel/time/hrtimer.c:30:
> In file included from include/linux/syscalls.h:93:
> In file included from include/trace/syscall.h:7:
> In file included from include/linux/trace_events.h:9:
> In file included from include/linux/hardirq.h:11:
> In file included from arch/um/include/asm/hardirq.h:5:
> In file included from include/asm-generic/hardirq.h:17:
> In file included from include/linux/irq.h:20:
> In file included from include/linux/io.h:14:
> In file included from arch/um/include/asm/io.h:24:
> include/asm-generic/io.h:585:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 585 | __raw_writeb(value, PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:595:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 595 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:605:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 605 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:693:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 693 | readsb(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:701:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 701 | readsw(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:709:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 709 | readsl(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:718:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 718 | writesb(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:727:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 727 | writesw(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> include/asm-generic/io.h:736:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> 736 | writesl(PCI_IOBASE + addr, buffer, count);
> | ~~~~~~~~~~ ^
> In file included from kernel/time/hrtimer.c:30:
> In file included from include/linux/syscalls.h:93:
> In file included from include/trace/syscall.h:7:
> In file included from include/linux/trace_events.h:10:
> In file included from include/linux/perf_event.h:52:
> In file included from include/linux/ftrace.h:23:
> In file included from ./arch/um/include/generated/asm/ftrace.h:1:
> >> include/asm-generic/ftrace.h:5:2: error: unterminated conditional directive
> 5 | #ifndef __ASM_GENERIC_FTRACE_H__
> | ^
> kernel/time/hrtimer.c:121:21: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
> 121 | [CLOCK_REALTIME] = HRTIMER_BASE_REALTIME,
> | ^~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:119:27: note: previous initialization is here
> 119 | [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:122:22: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
> 122 | [CLOCK_MONOTONIC] = HRTIMER_BASE_MONOTONIC,
> | ^~~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:119:27: note: previous initialization is here
> 119 | [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:123:21: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
> 123 | [CLOCK_BOOTTIME] = HRTIMER_BASE_BOOTTIME,
> | ^~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:119:27: note: previous initialization is here
> 119 | [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:124:17: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
> 124 | [CLOCK_TAI] = HRTIMER_BASE_TAI,
> | ^~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:119:27: note: previous initialization is here
> 119 | [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
> | ^~~~~~~~~~~~~~~~~~~~~~~
> 16 warnings and 1 error generated.
>
>
> vim +5 include/asm-generic/ftrace.h
>
> 38f5bf84bd588a GuanXuetao 2011-01-15 @5 #ifndef __ASM_GENERIC_FTRACE_H__
> 38f5bf84bd588a GuanXuetao 2011-01-15 6 #define __ASM_GENERIC_FTRACE_H__
> 38f5bf84bd588a GuanXuetao 2011-01-15 7
>