-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
selftests/bpf: Add test for legacy/perf kprobe/uprobe attach mode
Add the testing for kprobe/uprobe attaching in default, legacy, perf and link mode. And the testing passed: ./test_progs -t attach_probe $5/1 attach_probe/manual-default:OK $5/2 attach_probe/manual-legacy:OK $5/3 attach_probe/manual-perf:OK $5/4 attach_probe/manual-link:OK $5/5 attach_probe/auto:OK $5/6 attach_probe/kprobe-sleepable:OK $5/7 attach_probe/uprobe-lib:OK $5/8 attach_probe/uprobe-sleepable:OK $5/9 attach_probe/uprobe-ref_ctr:OK $5 attach_probe:OK Summary: 1/9 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Menglong Dong <imagedong@tencent.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Reviewed-by: Biao Jiang <benbjiang@tencent.com> Link: https://lore.kernel.org/bpf/20230306064833.7932-4-imagedong@tencent.com
- Loading branch information
Menglong Dong
authored and
Andrii Nakryiko
committed
Mar 6, 2023
1 parent
7391ec6
commit c7aec81
Showing
3 changed files
with
81 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
tools/testing/selftests/bpf/progs/test_attach_probe_manual.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
// SPDX-License-Identifier: GPL-2.0 | ||
// Copyright (c) 2017 Facebook | ||
|
||
#include "vmlinux.h" | ||
#include <bpf/bpf_helpers.h> | ||
#include <bpf/bpf_tracing.h> | ||
#include <bpf/bpf_core_read.h> | ||
#include "bpf_misc.h" | ||
|
||
int kprobe_res = 0; | ||
int kretprobe_res = 0; | ||
int uprobe_res = 0; | ||
int uretprobe_res = 0; | ||
int uprobe_byname_res = 0; | ||
void *user_ptr = 0; | ||
|
||
SEC("kprobe") | ||
int handle_kprobe(struct pt_regs *ctx) | ||
{ | ||
kprobe_res = 1; | ||
return 0; | ||
} | ||
|
||
SEC("kretprobe") | ||
int handle_kretprobe(struct pt_regs *ctx) | ||
{ | ||
kretprobe_res = 2; | ||
return 0; | ||
} | ||
|
||
SEC("uprobe") | ||
int handle_uprobe(struct pt_regs *ctx) | ||
{ | ||
uprobe_res = 3; | ||
return 0; | ||
} | ||
|
||
SEC("uretprobe") | ||
int handle_uretprobe(struct pt_regs *ctx) | ||
{ | ||
uretprobe_res = 4; | ||
return 0; | ||
} | ||
|
||
SEC("uprobe") | ||
int handle_uprobe_byname(struct pt_regs *ctx) | ||
{ | ||
uprobe_byname_res = 5; | ||
return 0; | ||
} | ||
|
||
|
||
char _license[] SEC("license") = "GPL"; |