[SRU Bionic 1/1] UBUNTU: SAUCE: Revert "bpf: test_maps, only support ESTABLISHED socks"
Thadeu Lima de Souza Cascardo
cascardo at canonical.com
Fri Jun 4 11:50:47 UTC 2021
BugLink: https://bugs.launchpad.net/bugs/1839912
This reverts commit da8fdf4717bf4e40143115be8799ca0dd2688e8d.
This is upstream commit 5028027844cfc6168e39650abecd817ba64c9d98.
That commit fixes 1aa12bdf1bfb ("bpf: sockmap, add sock close() hook to remove
socks"), which is not included in bionic.
That one fixes a real bug (a bpf program leak), but has a lot of fixes
upstream, so is a potential regression. Given that sockmap bpf maps can
only be created by root userns CAP_NET_ADMIN capable processes, leave
this bug unfixed until there is some request for fixing it.
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at canonical.com>
---
tools/testing/selftests/bpf/test_maps.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/tools/testing/selftests/bpf/test_maps.c b/tools/testing/selftests/bpf/test_maps.c
index 32e5410ecdcf..b528bac3a6e8 100644
--- a/tools/testing/selftests/bpf/test_maps.c
+++ b/tools/testing/selftests/bpf/test_maps.c
@@ -563,11 +563,7 @@ static void test_sockmap(int tasks, void *data)
/* Test update without programs */
for (i = 0; i < 6; i++) {
err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_ANY);
- if (i < 2 && !err) {
- printf("Allowed update sockmap '%i:%i' not in ESTABLISHED\n",
- i, sfd[i]);
- goto out_sockmap;
- } else if (i >= 2 && err) {
+ if (err) {
printf("Failed noprog update sockmap '%i:%i'\n",
i, sfd[i]);
goto out_sockmap;
@@ -691,7 +687,7 @@ static void test_sockmap(int tasks, void *data)
}
/* Test map update elem afterwards fd lives in fd and map_fd */
- for (i = 2; i < 6; i++) {
+ for (i = 0; i < 6; i++) {
err = bpf_map_update_elem(map_fd_rx, &i, &sfd[i], BPF_ANY);
if (err) {
printf("Failed map_fd_rx update sockmap %i '%i:%i'\n",
@@ -787,7 +783,7 @@ static void test_sockmap(int tasks, void *data)
}
/* Delete the elems without programs */
- for (i = 2; i < 6; i++) {
+ for (i = 0; i < 6; i++) {
err = bpf_map_delete_elem(fd, &i);
if (err) {
printf("Failed delete sockmap %i '%i:%i'\n",
--
2.30.2
More information about the kernel-team
mailing list