Re: [PATCH net-next] perf trace: fix MSG_SPLICE_PAGES build error

From: Namhyung Kim
Date: Mon Jun 26 2023 - 17:42:17 EST


Hello,

On Mon, Jun 26, 2023 at 2:27 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
>
> On Mon, 26 Jun 2023 11:02:39 +0200 Matthieu Baerts wrote:
> > Our MPTCP CI and Stephen got this error:
> >
> > In file included from builtin-trace.c:907:
> > trace/beauty/msg_flags.c: In function 'syscall_arg__scnprintf_msg_flags':
> > trace/beauty/msg_flags.c:28:21: error: 'MSG_SPLICE_PAGES' undeclared (first use in this function)
> > 28 | if (flags & MSG_##n) { | ^~~~
> > trace/beauty/msg_flags.c:50:9: note: in expansion of macro 'P_MSG_FLAG'
> > 50 | P_MSG_FLAG(SPLICE_PAGES);
> > | ^~~~~~~~~~
> > trace/beauty/msg_flags.c:28:21: note: each undeclared identifier is reported only once for each function it appears in
> > 28 | if (flags & MSG_##n) { | ^~~~
> > trace/beauty/msg_flags.c:50:9: note: in expansion of macro 'P_MSG_FLAG'
> > 50 | P_MSG_FLAG(SPLICE_PAGES);
> > | ^~~~~~~~~~
> >
> > The fix is similar to what was done with MSG_FASTOPEN: the new macro is
> > defined if it is not defined in the system headers.
> >
> > Fixes: b848b26c6672 ("net: Kill MSG_SENDPAGE_NOTLAST")
> > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > Closes: https://lore.kernel.org/r/20230626112847.2ef3d422@xxxxxxxxxxxxxxxx/
> > Signed-off-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx>
> > ---
> >
> > Notes:
> > @David: I solved it like that in MPTCP tree. Does it work for you too?
> >
> > I guess tools/perf/trace/beauty/include/linux/socket.h file still needs
> > to be updated, not just to add MSG_SPLICE_PAGES but also other
> > modifications done in this file. Maybe best to sync with Arnaldo because
> > he might do it soon during the coming merge window I guess.
> >
> > Cc: David Howells <dhowells@xxxxxxxxxx>
> > Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> Hi Arnaldo, are you okay with us taking this into the networking tree?
> Or do you prefer to sync the header after everything lands in Linus's
> tree?

Arnaldo is on vacation now, and I'm taking care of the patches
on behalf of him.

As it's introduced in the networking tree, it should be fine to
carry the fix together. I'll sync the header later.

But in general you don't need to change the copy of the tools
headers together. It also needs to support old & new kernels
so different care should be taken. Please separate tooling
changes and let us handle them.

Thanks,
Namhyung