Skip to content

Commit

Permalink
selftests/bpf: Migrate BPF_CGROUP_INET_SOCK_CREATE test cases to prog…
Browse files Browse the repository at this point in the history
…_tests

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>
  • Loading branch information
Jordan Rife authored and Martin KaFai Lau committed Oct 22, 2024
1 parent c17f973 commit af522f1
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 38 deletions.
35 changes: 25 additions & 10 deletions tools/testing/selftests/bpf/prog_tests/sock_create.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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;
Expand Down
28 changes: 0 additions & 28 deletions tools/testing/selftests/bpf/test_sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit af522f1

Please sign in to comment.