1 // SPDX-License-Identifier: GPL-2.0 2 #include "vmlinux.h" 3 #include <bpf/bpf_helpers.h> 4 #include <bpf/bpf_tracing.h> 5 6 char _license[] SEC("license") = "GPL"; 7 8 __u32 pids[3]; 9 __u32 test[3][2]; 10 update_pid(int idx)11static void update_pid(int idx) 12 { 13 __u32 pid = bpf_get_current_pid_tgid() >> 32; 14 15 if (pid == pids[idx]) 16 test[idx][0]++; 17 else 18 test[idx][1]++; 19 } 20 21 SEC("uprobe.multi") uprobe_multi_0(struct pt_regs * ctx)22int uprobe_multi_0(struct pt_regs *ctx) 23 { 24 update_pid(0); 25 return 0; 26 } 27 28 SEC("uprobe.multi") uprobe_multi_1(struct pt_regs * ctx)29int uprobe_multi_1(struct pt_regs *ctx) 30 { 31 update_pid(1); 32 return 0; 33 } 34 35 SEC("uprobe.multi") uprobe_multi_2(struct pt_regs * ctx)36int uprobe_multi_2(struct pt_regs *ctx) 37 { 38 update_pid(2); 39 return 0; 40 } 41