Linux Audio

Check our new training course

Loading...
v5.4
 1// SPDX-License-Identifier: GPL-2.0
 2/*
 3 * Hook into 'openat' syscall entry tracepoint
 4 *
 5 * Test it with:
 6 *
 7 * perf trace -e tools/perf/examples/bpf/sys_enter_openat.c cat /etc/passwd > /dev/null
 8 *
 9 * It'll catch some openat syscalls related to the dynamic linked and
10 * the last one should be the one for '/etc/passwd'.
11 *
12 * The syscall_enter_openat_args can be used to get the syscall fields
13 * and use them for filtering calls, i.e. use in expressions for
14 * the return value.
15 */
16
17#include <bpf.h>
18
19struct syscall_enter_openat_args {
20	unsigned long long unused;
21	long		   syscall_nr;
22	long		   dfd;
23	char		   *filename_ptr;
24	long		   flags;
25	long		   mode;
26};
27
28int syscall_enter(openat)(struct syscall_enter_openat_args *args)
29{
30	return 1;
31}
32
33license(GPL);
v6.2
 1// SPDX-License-Identifier: GPL-2.0
 2/*
 3 * Hook into 'openat' syscall entry tracepoint
 4 *
 5 * Test it with:
 6 *
 7 * perf trace -e tools/perf/examples/bpf/sys_enter_openat.c cat /etc/passwd > /dev/null
 8 *
 9 * It'll catch some openat syscalls related to the dynamic linked and
10 * the last one should be the one for '/etc/passwd'.
11 *
12 * The syscall_enter_openat_args can be used to get the syscall fields
13 * and use them for filtering calls, i.e. use in expressions for
14 * the return value.
15 */
16
17#include <bpf/bpf.h>
18
19struct syscall_enter_openat_args {
20	unsigned long long unused;
21	long		   syscall_nr;
22	long		   dfd;
23	char		   *filename_ptr;
24	long		   flags;
25	long		   mode;
26};
27
28int syscall_enter(openat)(struct syscall_enter_openat_args *args)
29{
30	return 1;
31}
32
33license(GPL);