xref: /linux/tools/testing/selftests/bpf/progs/livepatch_trampoline.c (revision cbba5d1b53fb82209feacb459edecb1ef8427119)
1*62d2d0a3SSong Liu // SPDX-License-Identifier: GPL-2.0
2*62d2d0a3SSong Liu /* Copyright (c) 2025 Meta Platforms, Inc. and affiliates. */
3*62d2d0a3SSong Liu 
4*62d2d0a3SSong Liu #include <linux/bpf.h>
5*62d2d0a3SSong Liu #include <bpf/bpf_helpers.h>
6*62d2d0a3SSong Liu #include <bpf/bpf_tracing.h>
7*62d2d0a3SSong Liu 
8*62d2d0a3SSong Liu int fentry_hit;
9*62d2d0a3SSong Liu int fexit_hit;
10*62d2d0a3SSong Liu int my_pid;
11*62d2d0a3SSong Liu 
12*62d2d0a3SSong Liu SEC("fentry/cmdline_proc_show")
BPF_PROG(fentry_cmdline)13*62d2d0a3SSong Liu int BPF_PROG(fentry_cmdline)
14*62d2d0a3SSong Liu {
15*62d2d0a3SSong Liu 	if (my_pid != (bpf_get_current_pid_tgid() >> 32))
16*62d2d0a3SSong Liu 		return 0;
17*62d2d0a3SSong Liu 
18*62d2d0a3SSong Liu 	fentry_hit = 1;
19*62d2d0a3SSong Liu 	return 0;
20*62d2d0a3SSong Liu }
21*62d2d0a3SSong Liu 
22*62d2d0a3SSong Liu SEC("fexit/cmdline_proc_show")
BPF_PROG(fexit_cmdline)23*62d2d0a3SSong Liu int BPF_PROG(fexit_cmdline)
24*62d2d0a3SSong Liu {
25*62d2d0a3SSong Liu 	if (my_pid != (bpf_get_current_pid_tgid() >> 32))
26*62d2d0a3SSong Liu 		return 0;
27*62d2d0a3SSong Liu 
28*62d2d0a3SSong Liu 	fexit_hit = 1;
29*62d2d0a3SSong Liu 	return 0;
30*62d2d0a3SSong Liu }
31