* [PATCH] tracing: Make undefsyms_base.c a first-class citizen
@ 2026-04-21 9:54 Marc Zyngier
0 siblings, 0 replies; only message in thread
From: Marc Zyngier @ 2026-04-21 9:54 UTC (permalink / raw)
To: linux-kernel, kvm, kvmarm
Cc: Linus Torvalds, Paolo Bonzini, Vincent Donnefort,
Nathan Chancellor, Steven Rostedt, Arnd Bergmann
Linus points out that dumping undefsyms_base.c form the Makefile
is rather ugly, and that a much better course of action would be
to have this file as a first-class citizen in the git tree.
This allows some extra cleanup in the Makefile, and the removal of
the .gitignore file in kernel/trace.
Link: https://lore.kernel.org/r/CAHk-=wieqGd_XKpu8UxDoyADZx8TDe8CF3RmkUXt5N_9t5Pf_w@mail.gmail.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Arnd Bergmann <arnd@arndb.de>
---
kernel/trace/.gitignore | 1 -
kernel/trace/Makefile | 23 -----------------------
kernel/trace/undefsyms_base.c | 14 ++++++++++++++
3 files changed, 14 insertions(+), 24 deletions(-)
delete mode 100644 kernel/trace/.gitignore
create mode 100644 kernel/trace/undefsyms_base.c
diff --git a/kernel/trace/.gitignore b/kernel/trace/.gitignore
deleted file mode 100644
index 6adbb09d6deb0..0000000000000
--- a/kernel/trace/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/undefsyms_base.c
diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile
index 4d4229e5eec4b..0b0b8f5b9d2bf 100644
--- a/kernel/trace/Makefile
+++ b/kernel/trace/Makefile
@@ -140,29 +140,6 @@ obj-$(CONFIG_TRACE_REMOTE_TEST) += remote_test.o
# undefsyms_base generates a set of compiler and tooling-generated symbols that can
# safely be ignored for simple_ring_buffer.
#
-filechk_undefsyms_base = \
- echo '$(pound)include <linux/atomic.h>'; \
- echo '$(pound)include <linux/string.h>'; \
- echo '$(pound)include <asm/page.h>'; \
- echo 'static char page[PAGE_SIZE] __aligned(PAGE_SIZE);'; \
- echo 'void undefsyms_base(void *p, int n);'; \
- echo 'void undefsyms_base(void *p, int n) {'; \
- echo ' char buffer[256] = { 0 };'; \
- echo ' u32 u = 0;'; \
- echo ' memset((char * volatile)page, 8, PAGE_SIZE);'; \
- echo ' memset((char * volatile)buffer, 8, sizeof(buffer));'; \
- echo ' memcpy((void * volatile)p, buffer, sizeof(buffer));'; \
- echo ' cmpxchg((u32 * volatile)&u, 0, 8);'; \
- echo ' WARN_ON(n == 0xdeadbeef);'; \
- echo '}'
-
-$(obj)/undefsyms_base.c: FORCE
- $(call filechk,undefsyms_base)
-
-clean-files += undefsyms_base.c
-
-$(obj)/undefsyms_base.o: $(obj)/undefsyms_base.c
-
targets += undefsyms_base.o
# Ensure KASAN is enabled to avoid logic that may disable FORTIFY_SOURCE when
diff --git a/kernel/trace/undefsyms_base.c b/kernel/trace/undefsyms_base.c
new file mode 100644
index 0000000000000..3db5adf918cce
--- /dev/null
+++ b/kernel/trace/undefsyms_base.c
@@ -0,0 +1,14 @@
+#include <linux/atomic.h>
+#include <linux/string.h>
+#include <asm/page.h>
+static char page[PAGE_SIZE] __aligned(PAGE_SIZE);
+void undefsyms_base(void *p, int n);
+void undefsyms_base(void *p, int n) {
+ char buffer[256] = { 0 };
+ u32 u = 0;
+ memset((char * volatile)page, 8, PAGE_SIZE);
+ memset((char * volatile)buffer, 8, sizeof(buffer));
+ memcpy((void * volatile)p, buffer, sizeof(buffer));
+ cmpxchg((u32 * volatile)&u, 0, 8);
+ WARN_ON(n == 0xdeadbeef);
+}
--
2.47.3
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-04-21 9:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-21 9:54 [PATCH] tracing: Make undefsyms_base.c a first-class citizen Marc Zyngier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox