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

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
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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));

out_detach:
	err = bpf_prog_detach(0, BPF_FLOW_DISSECTOR);
	err = bpf_prog_detach2(prog2, 0, BPF_FLOW_DISSECTOR);
	if (CHECK_FAIL(err))
		perror("bpf_prog_detach");
	CHECK_FAIL(prog_is_attached(netns));
@@ -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);
	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)) {
		perror("bpf_prog_attach(prog1)");
		return;
@@ -165,7 +165,7 @@ static void test_prog_attach_link_create(int netns, int prog1, int prog2)
		close(link);
	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))
		perror("bpf_prog_detach");
	CHECK_FAIL(prog_is_attached(netns));
@@ -185,7 +185,7 @@ static void test_link_create_prog_attach(int netns, int prog1, int prog2)

	/* Expect failure attaching prog when link exists */
	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))
		perror("bpf_prog_attach(prog2) expected EEXIST");
	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)

	/* Expect failure detaching prog when link exists */
	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))
		perror("bpf_prog_detach expected EINVAL");
	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)
	}
	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)) {
		perror("bpf_prog_detach");
		return;