Commit 0434296c authored by Lorenz Bauer's avatar Lorenz Bauer Committed by Alexei Starovoitov

selftests: bpf: Pass program and target_fd in flow_dissector_reattach

Pass 0 as target_fd when attaching and detaching flow dissector.
Additionally, pass the expected program when detaching.

Fixes: 1f043f87 ("selftests/bpf: Add tests for attaching bpf_link to netns")
Signed-off-by: default avatarLorenz Bauer <lmb@cloudflare.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200629095630.7933-6-lmb@cloudflare.com
parent bb0de313
...@@ -113,7 +113,7 @@ static void test_prog_attach_prog_attach(int netns, int prog1, int prog2) ...@@ -113,7 +113,7 @@ static void test_prog_attach_prog_attach(int netns, int prog1, int prog2)
CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog2)); CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog2));
out_detach: out_detach:
err = bpf_prog_detach(0, BPF_FLOW_DISSECTOR); err = bpf_prog_detach2(prog2, 0, BPF_FLOW_DISSECTOR);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
perror("bpf_prog_detach"); perror("bpf_prog_detach");
CHECK_FAIL(prog_is_attached(netns)); CHECK_FAIL(prog_is_attached(netns));
...@@ -149,7 +149,7 @@ static void test_prog_attach_link_create(int netns, int prog1, int prog2) ...@@ -149,7 +149,7 @@ static void test_prog_attach_link_create(int netns, int prog1, int prog2)
DECLARE_LIBBPF_OPTS(bpf_link_create_opts, opts); DECLARE_LIBBPF_OPTS(bpf_link_create_opts, opts);
int err, link; int err, link;
err = bpf_prog_attach(prog1, -1, BPF_FLOW_DISSECTOR, 0); err = bpf_prog_attach(prog1, 0, BPF_FLOW_DISSECTOR, 0);
if (CHECK_FAIL(err)) { if (CHECK_FAIL(err)) {
perror("bpf_prog_attach(prog1)"); perror("bpf_prog_attach(prog1)");
return; return;
...@@ -165,7 +165,7 @@ static void test_prog_attach_link_create(int netns, int prog1, int prog2) ...@@ -165,7 +165,7 @@ static void test_prog_attach_link_create(int netns, int prog1, int prog2)
close(link); close(link);
CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog1)); CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog1));
err = bpf_prog_detach(-1, BPF_FLOW_DISSECTOR); err = bpf_prog_detach2(prog1, 0, BPF_FLOW_DISSECTOR);
if (CHECK_FAIL(err)) if (CHECK_FAIL(err))
perror("bpf_prog_detach"); perror("bpf_prog_detach");
CHECK_FAIL(prog_is_attached(netns)); CHECK_FAIL(prog_is_attached(netns));
...@@ -185,7 +185,7 @@ static void test_link_create_prog_attach(int netns, int prog1, int prog2) ...@@ -185,7 +185,7 @@ static void test_link_create_prog_attach(int netns, int prog1, int prog2)
/* Expect failure attaching prog when link exists */ /* Expect failure attaching prog when link exists */
errno = 0; errno = 0;
err = bpf_prog_attach(prog2, -1, BPF_FLOW_DISSECTOR, 0); err = bpf_prog_attach(prog2, 0, BPF_FLOW_DISSECTOR, 0);
if (CHECK_FAIL(!err || errno != EEXIST)) if (CHECK_FAIL(!err || errno != EEXIST))
perror("bpf_prog_attach(prog2) expected EEXIST"); perror("bpf_prog_attach(prog2) expected EEXIST");
CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog1)); CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog1));
...@@ -208,7 +208,7 @@ static void test_link_create_prog_detach(int netns, int prog1, int prog2) ...@@ -208,7 +208,7 @@ static void test_link_create_prog_detach(int netns, int prog1, int prog2)
/* Expect failure detaching prog when link exists */ /* Expect failure detaching prog when link exists */
errno = 0; errno = 0;
err = bpf_prog_detach(-1, BPF_FLOW_DISSECTOR); err = bpf_prog_detach2(prog1, 0, BPF_FLOW_DISSECTOR);
if (CHECK_FAIL(!err || errno != EINVAL)) if (CHECK_FAIL(!err || errno != EINVAL))
perror("bpf_prog_detach expected EINVAL"); perror("bpf_prog_detach expected EINVAL");
CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog1)); CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog1));
...@@ -228,7 +228,7 @@ static void test_prog_attach_detach_query(int netns, int prog1, int prog2) ...@@ -228,7 +228,7 @@ static void test_prog_attach_detach_query(int netns, int prog1, int prog2)
} }
CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog1)); CHECK_FAIL(query_attached_prog_id(netns) != query_prog_id(prog1));
err = bpf_prog_detach(0, BPF_FLOW_DISSECTOR); err = bpf_prog_detach2(prog1, 0, BPF_FLOW_DISSECTOR);
if (CHECK_FAIL(err)) { if (CHECK_FAIL(err)) {
perror("bpf_prog_detach"); perror("bpf_prog_detach");
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment