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

From: Matthieu Baerts
Date: Mon Jun 26 2023 - 05:06:55 EST


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>

tools/perf/trace/beauty/msg_flags.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/tools/perf/trace/beauty/msg_flags.c b/tools/perf/trace/beauty/msg_flags.c
index 5cdebd7ece7e..aa9934020232 100644
--- a/tools/perf/trace/beauty/msg_flags.c
+++ b/tools/perf/trace/beauty/msg_flags.c
@@ -8,6 +8,9 @@
#ifndef MSG_WAITFORONE
#define MSG_WAITFORONE 0x10000
#endif
+#ifndef MSG_SPLICE_PAGES
+#define MSG_SPLICE_PAGES 0x8000000
+#endif
#ifndef MSG_FASTOPEN
#define MSG_FASTOPEN 0x20000000
#endif

base-commit: 9ae440b8fdd6772b6c007fa3d3766530a09c9045
--
2.40.1