perf trace: Introduce SCA_PERF_ATTR_FROM_USER() to set .from_user = true

Paving the way for the generic BPF BTF based syscall arg augmenter.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Howard Chu <howardchu95@gmail.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2024-09-09 16:57:22 -03:00
parent 2f2e439ba5
commit 690eda6508
2 changed files with 5 additions and 1 deletions

View File

@ -1226,7 +1226,7 @@ static const struct syscall_fmt syscall_fmts[] = {
.arg = { [0] = { .scnprintf = SCA_FDAT, /* dfd */ },
[2] = { .scnprintf = SCA_OPEN_FLAGS, /* flags */ }, }, },
{ .name = "perf_event_open",
.arg = { [0] = { .scnprintf = SCA_PERF_ATTR, /* attr */ },
.arg = { [0] = SCA_PERF_ATTR_FROM_USER(attr),
[2] = { .scnprintf = SCA_INT, /* cpu */ },
[3] = { .scnprintf = SCA_FD, /* group_fd */ },
[4] = { .scnprintf = SCA_PERF_FLAGS, /* flags */ }, }, },

View File

@ -88,3 +88,7 @@ static size_t syscall_arg__scnprintf_perf_event_attr(char *bf, size_t size, stru
}
#define SCA_PERF_ATTR syscall_arg__scnprintf_perf_event_attr
// 'argname' is just documentational at this point, to remove the previous comment with that info
#define SCA_PERF_ATTR_FROM_USER(argname) \
{ .scnprintf = SCA_PERF_ATTR, \
.from_user = true, }