diff mbox series

[SRU,Bionic,1/1] UBUNTU: SAUCE: Revert "bpf: test_maps, only support ESTABLISHED socks"

Message ID 20210604115047.13569-2-cascardo@canonical.com
State New
Headers show
Series LP: #1839912 (kselftest bpf test_maps failure) | expand

Commit Message

Thadeu Lima de Souza Cascardo June 4, 2021, 11:50 a.m. UTC
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@canonical.com>
---
 tools/testing/selftests/bpf/test_maps.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
diff mbox series

Patch

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",