forked from libbpf/libbpf
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'libbpf:master' into master
- Loading branch information
Showing
31 changed files
with
10,693 additions
and
5,019 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
b408473ea01b2e499d23503e2bf898416da9d7ac | ||
d5fb316e2af1d947f0f6c3666e373a54d9f27c6f |
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 |
---|---|---|
@@ -1 +1 @@ | ||
2ad6d23f465a4f851e3bcf6d74c315ce7b2c205b | ||
c6fb8030b4baa01c850f99fc6da051b1017edc46 |
58 changes: 58 additions & 0 deletions
58
ci/diffs/0003-selftests-bpf-Fix-uprobe-consumer-test.patch
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,58 @@ | ||
From affb32e4f056883f285f8535b766293b85752fb4 Mon Sep 17 00:00:00 2001 | ||
From: Jiri Olsa <[email protected]> | ||
Date: Tue, 24 Sep 2024 13:07:30 +0200 | ||
Subject: [PATCH] selftests/bpf: Fix uprobe consumer test | ||
|
||
With newly merged code the uprobe behaviour is slightly different | ||
and affects uprobe consumer test. | ||
|
||
We no longer need to check if the uprobe object is still preserved | ||
after removing last uretprobe, because it stays as long as there's | ||
pending/installed uretprobe instance. | ||
|
||
This allows to run uretprobe consumers registered 'after' uprobe was | ||
hit even if previous uretprobe got unregistered before being hit. | ||
|
||
The uprobe object will be now removed after the last uprobe ref is | ||
released and in such case it's held by ri->uprobe (return instance) | ||
which is released after the uretprobe is hit. | ||
|
||
Reported-by: Ihor Solodrai <[email protected]> | ||
Signed-off-by: Jiri Olsa <[email protected]> | ||
Signed-off-by: Daniel Borkmann <[email protected]> | ||
Tested-by: Ihor Solodrai <[email protected]> | ||
Closes: https://lore.kernel.org/bpf/w6U8Z9fdhjnkSp2UaFaV1fGqJXvfLEtDKEUyGDkwmoruDJ_AgF_c0FFhrkeKW18OqiP-05s9yDKiT6X-Ns-avN_ABf0dcUkXqbSJN1TQSXo=@pm.me/ | ||
--- | ||
.../testing/selftests/bpf/prog_tests/uprobe_multi_test.c | 9 +-------- | ||
1 file changed, 1 insertion(+), 8 deletions(-) | ||
|
||
diff --git a/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c b/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c | ||
index 844f6fc8487b..c1ac813ff9ba 100644 | ||
--- a/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c | ||
+++ b/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c | ||
@@ -869,21 +869,14 @@ static void consumer_test(struct uprobe_multi_consumers *skel, | ||
fmt = "prog 0/1: uprobe"; | ||
} else { | ||
/* | ||
- * uprobe return is tricky ;-) | ||
- * | ||
* to trigger uretprobe consumer, the uretprobe needs to be installed, | ||
* which means one of the 'return' uprobes was alive when probe was hit: | ||
* | ||
* idxs: 2/3 uprobe return in 'installed' mask | ||
- * | ||
- * in addition if 'after' state removes everything that was installed in | ||
- * 'before' state, then uprobe kernel object goes away and return uprobe | ||
- * is not installed and we won't hit it even if it's in 'after' state. | ||
*/ | ||
unsigned long had_uretprobes = before & 0b1100; /* is uretprobe installed */ | ||
- unsigned long probe_preserved = before & after; /* did uprobe go away */ | ||
|
||
- if (had_uretprobes && probe_preserved && test_bit(idx, after)) | ||
+ if (had_uretprobes && test_bit(idx, after)) | ||
val++; | ||
fmt = "idx 2/3: uretprobe"; | ||
} | ||
-- | ||
2.34.1 | ||
|
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
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
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
Oops, something went wrong.