All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tracing: Move user_events.h temporarily out of include/uapi
@ 2022-04-01 18:39 Steven Rostedt
  2022-04-05 10:56 ` kernel test robot
  2022-04-05 16:20 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 4+ messages in thread
From: Steven Rostedt @ 2022-04-01 18:39 UTC (permalink / raw)
  To: LKML
  Cc: Mathieu Desnoyers, Beau Belgrave, Masami Hiramatsu,
	linux-trace-devel, bpf, netdev, Alexei Starovoitov,
	Linus Torvalds, Michal Marek, ndesaulniers,
	Linux Kbuild mailing list, Masahiro Yamada

From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

While user_events API is under development and has been marked for broken
to not let the API become fixed, move the header file out of the uapi
directory. This is to prevent it from being installed, then later changed,
and then have an old distro user space update with a new kernel, where
applications see the user_events being available, but the old header is in
place, and then they get compiled incorrectly.

Also, surround the include with CONFIG_COMPILE_TEST to the current
location, but when the BROKEN tag is taken off, it will use the uapi
directory, and fail to compile. This is a good way to remind us to move
the header back.

Link: https://lore.kernel.org/all/20220330155835.5e1f6669@gandalf.local.home
Link: https://lkml.kernel.org/r/20220330201755.29319-1-mathieu.desnoyers@efficios.com

Suggested-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 include/{uapi => }/linux/user_events.h | 0
 kernel/trace/trace_events_user.c       | 5 +++++
 2 files changed, 5 insertions(+)
 rename include/{uapi => }/linux/user_events.h (100%)

diff --git a/include/uapi/linux/user_events.h b/include/linux/user_events.h
similarity index 100%
rename from include/uapi/linux/user_events.h
rename to include/linux/user_events.h
diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
index 846c27bc7aef..706e1686b5eb 100644
--- a/kernel/trace/trace_events_user.c
+++ b/kernel/trace/trace_events_user.c
@@ -18,7 +18,12 @@
 #include <linux/tracefs.h>
 #include <linux/types.h>
 #include <linux/uaccess.h>
+/* Reminder to move to uapi when everything works */
+#ifdef CONFIG_COMPILE_TEST
+#include <linux/user_events.h>
+#else
 #include <uapi/linux/user_events.h>
+#endif
 #include "trace.h"
 #include "trace_dynevent.h"
 
-- 
2.35.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] tracing: Move user_events.h temporarily out of include/uapi
  2022-04-01 18:39 [PATCH] tracing: Move user_events.h temporarily out of include/uapi Steven Rostedt
@ 2022-04-05 10:56 ` kernel test robot
  2022-04-05 16:20 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-04-05 10:56 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: llvm, kbuild-all

Hi Steven,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on rostedt-trace/for-next]
[cannot apply to horms-ipvs/master linus/master linux/master v5.18-rc1 next-20220405]
[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/intel-lab-lkp/linux/commits/Steven-Rostedt/tracing-Move-user_events-h-temporarily-out-of-include-uapi/20220402-024026
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git for-next
config: s390-randconfig-r012-20220405 (https://download.01.org/0day-ci/archive/20220405/202204051857.bpezRujI-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c4a1b07d0979e7ff20d7d541af666d822d66b566)
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
        # https://github.com/intel-lab-lkp/linux/commit/16163677044a657fe714d351f679a0d2600c77ce
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Steven-Rostedt/tracing-Move-user_events-h-temporarily-out-of-include-uapi/20220402-024026
        git checkout 16163677044a657fe714d351f679a0d2600c77ce
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

   In file included from kernel/trace/trace_events_user.c:13:
   In file included from include/linux/io.h:13:
   In file included from arch/s390/include/asm/io.h:75:
   include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __raw_readb(PCI_IOBASE + addr);
                             ~~~~~~~~~~ ^
   include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
                                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/big_endian.h:37:59: note: expanded from macro '__le16_to_cpu'
   #define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
                                                             ^
   include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
   #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
                                                        ^
   In file included from kernel/trace/trace_events_user.c:13:
   In file included from include/linux/io.h:13:
   In file included from arch/s390/include/asm/io.h:75:
   include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
                                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/big_endian.h:35:59: note: expanded from macro '__le32_to_cpu'
   #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
                                                             ^
   include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
   #define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
                                                        ^
   In file included from kernel/trace/trace_events_user.c:13:
   In file included from include/linux/io.h:13:
   In file included from arch/s390/include/asm/io.h:75:
   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:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
                                                         ~~~~~~~~~~ ^
   include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writel((u32 __force)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);
                   ~~~~~~~~~~ ^
>> kernel/trace/trace_events_user.c:25:10: fatal error: 'uapi/linux/user_events.h' file not found
   #include <uapi/linux/user_events.h>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
   12 warnings and 1 error generated.


vim +25 kernel/trace/trace_events_user.c

7f5a08c79df35e Beau Belgrave           2022-01-18 @25  #include <uapi/linux/user_events.h>
16163677044a65 Steven Rostedt (Google  2022-04-01  26) #endif
7f5a08c79df35e Beau Belgrave           2022-01-18  27  #include "trace.h"
7f5a08c79df35e Beau Belgrave           2022-01-18  28  #include "trace_dynevent.h"
7f5a08c79df35e Beau Belgrave           2022-01-18  29  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] tracing: Move user_events.h temporarily out of include/uapi
  2022-04-01 18:39 [PATCH] tracing: Move user_events.h temporarily out of include/uapi Steven Rostedt
  2022-04-05 10:56 ` kernel test robot
@ 2022-04-05 16:20 ` patchwork-bot+netdevbpf
  2022-04-05 16:32   ` Steven Rostedt
  1 sibling, 1 reply; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-04-05 16:20 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: linux-kernel, mathieu.desnoyers, beaub, mhiramat,
	linux-trace-devel, bpf, netdev, alexei.starovoitov, torvalds,
	michal.lkml, ndesaulniers, linux-kbuild, masahiroy

Hello:

This patch was applied to netdev/net-next.git (master)
by Steven Rostedt (Google) <rostedt@goodmis.org>:

On Fri, 1 Apr 2022 14:39:03 -0400 you wrote:
> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> 
> While user_events API is under development and has been marked for broken
> to not let the API become fixed, move the header file out of the uapi
> directory. This is to prevent it from being installed, then later changed,
> and then have an old distro user space update with a new kernel, where
> applications see the user_events being available, but the old header is in
> place, and then they get compiled incorrectly.
> 
> [...]

Here is the summary with links:
  - tracing: Move user_events.h temporarily out of include/uapi
    https://git.kernel.org/netdev/net-next/c/5cfff569cab8

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] tracing: Move user_events.h temporarily out of include/uapi
  2022-04-05 16:20 ` patchwork-bot+netdevbpf
@ 2022-04-05 16:32   ` Steven Rostedt
  0 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2022-04-05 16:32 UTC (permalink / raw)
  To: patchwork-bot+netdevbpf
  Cc: linux-kernel, mathieu.desnoyers, beaub, mhiramat,
	linux-trace-devel, bpf, netdev, alexei.starovoitov, torvalds,
	michal.lkml, ndesaulniers, linux-kbuild, masahiroy

On Tue, 05 Apr 2022 16:20:48 +0000
patchwork-bot+netdevbpf@kernel.org wrote:

> Hello:
> 
> This patch was applied to netdev/net-next.git (master)
> by Steven Rostedt (Google) <rostedt@goodmis.org>:

It was added to Linus's tree too.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5cfff569cab8bf544bab62c911c5d6efd5af5e05

-- Steve

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-05 23:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-01 18:39 [PATCH] tracing: Move user_events.h temporarily out of include/uapi Steven Rostedt
2022-04-05 10:56 ` kernel test robot
2022-04-05 16:20 ` patchwork-bot+netdevbpf
2022-04-05 16:32   ` Steven Rostedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.