summaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
authorDenys Zagorui <dzagorui@cisco.com>2023-10-19 04:35:21 -0700
committerAndrii Nakryiko <andrii@kernel.org>2023-10-23 09:58:15 -0700
commit69a19170303ff2f802049be94cfcf62f714002a3 (patch)
tree3ba34c839669e39d7c8b9efd24f809e2e75e6f58 /samples
parentcf559a416f9bc061f3b96f8afc6ceae5eec9b2b0 (diff)
downloadlinux-stable-69a19170303ff2f802049be94cfcf62f714002a3.tar.gz
linux-stable-69a19170303ff2f802049be94cfcf62f714002a3.tar.bz2
linux-stable-69a19170303ff2f802049be94cfcf62f714002a3.zip
samples: bpf: Fix syscall_tp openat argument
This modification doesn't change behaviour of the syscall_tp But such code is often used as a reference so it should be correct anyway Signed-off-by: Denys Zagorui <dzagorui@cisco.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20231019113521.4103825-1-dzagorui@cisco.com
Diffstat (limited to 'samples')
-rw-r--r--samples/bpf/syscall_tp_kern.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/samples/bpf/syscall_tp_kern.c b/samples/bpf/syscall_tp_kern.c
index 090fecfe641a..58fef969a60e 100644
--- a/samples/bpf/syscall_tp_kern.c
+++ b/samples/bpf/syscall_tp_kern.c
@@ -4,6 +4,7 @@
#include <uapi/linux/bpf.h>
#include <bpf/bpf_helpers.h>
+#if !defined(__aarch64__)
struct syscalls_enter_open_args {
unsigned long long unused;
long syscall_nr;
@@ -11,6 +12,7 @@ struct syscalls_enter_open_args {
long flags;
long mode;
};
+#endif
struct syscalls_exit_open_args {
unsigned long long unused;
@@ -18,6 +20,15 @@ struct syscalls_exit_open_args {
long ret;
};
+struct syscalls_enter_open_at_args {
+ unsigned long long unused;
+ long syscall_nr;
+ long long dfd;
+ long filename_ptr;
+ long flags;
+ long mode;
+};
+
struct {
__uint(type, BPF_MAP_TYPE_ARRAY);
__type(key, u32);
@@ -54,14 +65,14 @@ int trace_enter_open(struct syscalls_enter_open_args *ctx)
#endif
SEC("tracepoint/syscalls/sys_enter_openat")
-int trace_enter_open_at(struct syscalls_enter_open_args *ctx)
+int trace_enter_open_at(struct syscalls_enter_open_at_args *ctx)
{
count(&enter_open_map);
return 0;
}
SEC("tracepoint/syscalls/sys_enter_openat2")
-int trace_enter_open_at2(struct syscalls_enter_open_args *ctx)
+int trace_enter_open_at2(struct syscalls_enter_open_at_args *ctx)
{
count(&enter_open_map);
return 0;