Steven suggested a way to resolve the appearance of the warning banner that appears as a result of using trace_printk() in BPF [1]. Applying the patch and testing reveals all works as expected; we can call bpf_trace_printk() and see the trace messages in /sys/kernel/debug/tracing/trace_pipe and no banner message appears. Also add a test prog to verify basic bpf_trace_printk() helper behaviour. Possible future work: ftrace supports trace instances, and one thing that strikes me is that we could make use of these in BPF to separate BPF program bpf_trace_printk() output from output of other tracing activities. I was thinking something like a sysctl net.core.bpf_trace_instance, defaulting to an empty value signifying we use the root trace instance. This would preserve existing behaviour while giving a way to separate BPF tracing output from other tracing output if wanted. [1] https://lore.kernel.org/r/20200628194334.6238b933@xxxxxxxxxxxxxxxx Alan Maguire (2): bpf: use dedicated bpf_trace_printk event instead of trace_printk() selftests/bpf: add selftests verifying bpf_trace_printk() behaviour kernel/trace/Makefile | 2 + kernel/trace/bpf_trace.c | 41 +++++++++++-- kernel/trace/bpf_trace.h | 34 +++++++++++ .../selftests/bpf/prog_tests/trace_printk.c | 71 ++++++++++++++++++++++ tools/testing/selftests/bpf/progs/trace_printk.c | 21 +++++++ 5 files changed, 165 insertions(+), 4 deletions(-) create mode 100644 kernel/trace/bpf_trace.h create mode 100644 tools/testing/selftests/bpf/prog_tests/trace_printk.c create mode 100644 tools/testing/selftests/bpf/progs/trace_printk.c -- 1.8.3.1