Commit ab4c15fe authored by Ross Zwisler's avatar Ross Zwisler Committed by Alexei Starovoitov
Browse files

selftests/bpf: use canonical ftrace path



The canonical location for the tracefs filesystem is at
/sys/kernel/tracing.

But, from Documentation/trace/ftrace.rst:

  Before 4.1, all ftrace tracing control files were within the debugfs
  file system, which is typically located at /sys/kernel/debug/tracing.
  For backward compatibility, when mounting the debugfs file system,
  the tracefs file system will be automatically mounted at:

  /sys/kernel/debug/tracing

Many tests in the bpf selftest code still refer to this older debugfs
path, so let's update them to avoid confusion.

Signed-off-by: default avatarRoss Zwisler <zwisler@google.com>
Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
Link: https://lore.kernel.org/r/20230313205628.1058720-3-zwisler@kernel.org


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 27d7fdf0
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -86,8 +86,13 @@ int main(int argc, char **argv)
	pid = getpid();
	bpf_map_update_elem(pidmap_fd, &key, &pid, 0);

	if (access("/sys/kernel/tracing/trace", F_OK) == 0) {
		snprintf(buf, sizeof(buf),
			 "/sys/kernel/tracing/events/%s/id", probe_name);
	} else {
		snprintf(buf, sizeof(buf),
			 "/sys/kernel/debug/tracing/events/%s/id", probe_name);
	}
	efd = open(buf, O_RDONLY, 0);
	if (CHECK(efd < 0, "open", "err %d errno %d\n", efd, errno))
		goto close_prog;
+6 −1
Original line number Diff line number Diff line
@@ -338,7 +338,12 @@ static int get_syms(char ***symsp, size_t *cntp, bool kernel)
	 * Filtering out duplicates by using hashmap__add, which won't
	 * add existing entry.
	 */

	if (access("/sys/kernel/tracing/trace", F_OK) == 0)
		f = fopen("/sys/kernel/tracing/available_filter_functions", "r");
	else
		f = fopen("/sys/kernel/debug/tracing/available_filter_functions", "r");

	if (!f)
		return -EINVAL;

+7 −2
Original line number Diff line number Diff line
@@ -17,8 +17,13 @@ static void test_task_fd_query_tp_core(const char *probe_name,
	if (CHECK(err, "bpf_prog_test_load", "err %d errno %d\n", err, errno))
		goto close_prog;

	if (access("/sys/kernel/tracing/trace", F_OK) == 0) {
		snprintf(buf, sizeof(buf),
			 "/sys/kernel/tracing/events/%s/id", probe_name);
	} else {
		snprintf(buf, sizeof(buf),
			 "/sys/kernel/debug/tracing/events/%s/id", probe_name);
	}
	efd = open(buf, O_RDONLY, 0);
	if (CHECK(efd < 0, "open", "err %d errno %d\n", efd, errno))
		goto close_prog;
+7 −2
Original line number Diff line number Diff line
@@ -16,8 +16,13 @@ void serial_test_tp_attach_query(void)
	for (i = 0; i < num_progs; i++)
		obj[i] = NULL;

	if (access("/sys/kernel/tracing/trace", F_OK) == 0) {
		snprintf(buf, sizeof(buf),
			 "/sys/kernel/tracing/events/sched/sched_switch/id");
	} else {
		snprintf(buf, sizeof(buf),
			 "/sys/kernel/debug/tracing/events/sched/sched_switch/id");
	}
	efd = open(buf, O_RDONLY, 0);
	if (CHECK(efd < 0, "open", "err %d errno %d\n", efd, errno))
		return;
+7 −3
Original line number Diff line number Diff line
@@ -5,7 +5,8 @@

#include "trace_printk.lskel.h"

#define TRACEBUF	"/sys/kernel/debug/tracing/trace_pipe"
#define TRACEFS_PIPE	"/sys/kernel/tracing/trace_pipe"
#define DEBUGFS_PIPE	"/sys/kernel/debug/tracing/trace_pipe"
#define SEARCHMSG	"testing,testing"

void serial_test_trace_printk(void)
@@ -34,8 +35,11 @@ void serial_test_trace_printk(void)
	if (!ASSERT_OK(err, "trace_printk__attach"))
		goto cleanup;

	fp = fopen(TRACEBUF, "r");
	if (!ASSERT_OK_PTR(fp, "fopen(TRACEBUF)"))
	if (access(TRACEFS_PIPE, F_OK) == 0)
		fp = fopen(TRACEFS_PIPE, "r");
	else
		fp = fopen(DEBUGFS_PIPE, "r");
	if (!ASSERT_OK_PTR(fp, "fopen(TRACE_PIPE)"))
		goto cleanup;

	/* We do not want to wait forever if this test fails... */
Loading