]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/bpf: Migrate BPF_CGROUP_INET_SOCK_CREATE test cases to prog_tests
authorJordan Rife <jrife@google.com>
Tue, 22 Oct 2024 15:29:03 +0000 (15:29 +0000)
committerMartin KaFai Lau <martin.lau@kernel.org>
Tue, 22 Oct 2024 20:41:42 +0000 (13:41 -0700)
Move the "load w/o expected_attach_type" test case to
prog_tests/sock_create.c and drop the remaining test case, as it is made
redundant with the existing coverage inside prog_tests/sock_create.c.

Signed-off-by: Jordan Rife <jrife@google.com>
Link: https://lore.kernel.org/r/20241022152913.574836-4-jrife@google.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/testing/selftests/bpf/prog_tests/sock_create.c
tools/testing/selftests/bpf/test_sock.c

index 17a3713621dd6c5dc53eb25e66c65ee6ba99471a..187ffc5e60c49621427984befb15c8e8da009c1a 100644 (file)
@@ -237,6 +237,19 @@ static struct sock_create_test {
 
                .error = DENY_CREATE,
        },
+       {
+               .descr = "load w/o expected_attach_type (compat mode)",
+               .insns = {
+                       /* return 1 */
+                       BPF_MOV64_IMM(BPF_REG_0, 1),
+                       BPF_EXIT_INSN(),
+               },
+               .expected_attach_type = 0,
+               .attach_type = BPF_CGROUP_INET_SOCK_CREATE,
+
+               .domain = AF_INET,
+               .type = SOCK_STREAM,
+       },
 };
 
 static int load_prog(const struct bpf_insn *insns,
@@ -291,16 +304,18 @@ static int run_test(int cgroup_fd, struct sock_create_test *test)
                goto detach_prog;
        }
 
-       err = getsockopt(sock_fd, SOL_SOCKET, test->optname, &optval, &optlen);
-       if (err) {
-               log_err("Failed to call getsockopt");
-               goto cleanup;
-       }
-
-       if (optval != test->optval) {
-               errno = 0;
-               log_err("getsockopt returned unexpected optval");
-               goto cleanup;
+       if (test->optname) {
+               err = getsockopt(sock_fd, SOL_SOCKET, test->optname, &optval, &optlen);
+               if (err) {
+                       log_err("Failed to call getsockopt");
+                       goto cleanup;
+               }
+
+               if (optval != test->optval) {
+                       errno = 0;
+                       log_err("getsockopt returned unexpected optval");
+                       goto cleanup;
+               }
        }
 
        ret = test->error != OK;
index 26dff88abbaab88319f2fcadb0493df466e6f5c5..f97850f1d84aab133692eda3969198e2adc39603 100644 (file)
@@ -47,34 +47,6 @@ struct sock_test {
 };
 
 static struct sock_test tests[] = {
-       {
-               .descr = "sock_create load w/o expected_attach_type (compat mode)",
-               .insns = {
-                       BPF_MOV64_IMM(BPF_REG_0, 1),
-                       BPF_EXIT_INSN(),
-               },
-               .expected_attach_type = 0,
-               .attach_type = BPF_CGROUP_INET_SOCK_CREATE,
-               .domain = AF_INET,
-               .type = SOCK_STREAM,
-               .ip = "127.0.0.1",
-               .port = 8097,
-               .result = SUCCESS,
-       },
-       {
-               .descr = "sock_create load w/ expected_attach_type",
-               .insns = {
-                       BPF_MOV64_IMM(BPF_REG_0, 1),
-                       BPF_EXIT_INSN(),
-               },
-               .expected_attach_type = BPF_CGROUP_INET_SOCK_CREATE,
-               .attach_type = BPF_CGROUP_INET_SOCK_CREATE,
-               .domain = AF_INET,
-               .type = SOCK_STREAM,
-               .ip = "127.0.0.1",
-               .port = 8097,
-               .result = SUCCESS,
-       },
 };
 
 static size_t probe_prog_length(const struct bpf_insn *fp)