[PATCH bpf-next v2 2/2] selftests/bpf: Close netns in error paths in test_tunnel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Geliang Tang <tanggeliang@xxxxxxxxxx>

netns created by open_netns() should be closed in error paths in
test_vxlan_tunnel(), test_ip6vxlan_tunnel() and test_ipip_tunnel().

Signed-off-by: Geliang Tang <tanggeliang@xxxxxxxxxx>
---
 .../selftests/bpf/prog_tests/test_tunnel.c    | 27 +++++++++++++------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
index cec746e77cd3..f19e8177bcec 100644
--- a/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
+++ b/tools/testing/selftests/bpf/prog_tests/test_tunnel.c
@@ -448,14 +448,20 @@ static void test_vxlan_tunnel(void)
 	if (!ASSERT_OK_PTR(nstoken, "setns src"))
 		goto done;
 	ifindex = if_nametoindex(VXLAN_TUNL_DEV0);
-	if (!ASSERT_NEQ(ifindex, 0, "vxlan00 ifindex"))
+	if (!ASSERT_NEQ(ifindex, 0, "vxlan00 ifindex")) {
+		close_netns(nstoken);
 		goto done;
+	}
 	tc_hook.ifindex = ifindex;
 	set_dst_prog_fd = bpf_program__fd(skel->progs.vxlan_set_tunnel_dst);
-	if (!ASSERT_GE(set_dst_prog_fd, 0, "bpf_program__fd"))
+	if (!ASSERT_GE(set_dst_prog_fd, 0, "bpf_program__fd")) {
+		close_netns(nstoken);
 		goto done;
-	if (attach_tc_prog(&tc_hook, -1, set_dst_prog_fd))
+	}
+	if (attach_tc_prog(&tc_hook, -1, set_dst_prog_fd)) {
+		close_netns(nstoken);
 		goto done;
+	}
 	close_netns(nstoken);
 
 	/* use veth1 ip 2 as tunnel source ip */
@@ -521,14 +527,20 @@ static void test_ip6vxlan_tunnel(void)
 	if (!ASSERT_OK_PTR(nstoken, "setns src"))
 		goto done;
 	ifindex = if_nametoindex(IP6VXLAN_TUNL_DEV0);
-	if (!ASSERT_NEQ(ifindex, 0, "ip6vxlan00 ifindex"))
+	if (!ASSERT_NEQ(ifindex, 0, "ip6vxlan00 ifindex")) {
+		close_netns(nstoken);
 		goto done;
+	}
 	tc_hook.ifindex = ifindex;
 	set_dst_prog_fd = bpf_program__fd(skel->progs.ip6vxlan_set_tunnel_dst);
-	if (!ASSERT_GE(set_dst_prog_fd, 0, "bpf_program__fd"))
+	if (!ASSERT_GE(set_dst_prog_fd, 0, "bpf_program__fd")) {
+		close_netns(nstoken);
 		goto done;
-	if (attach_tc_prog(&tc_hook, -1, set_dst_prog_fd))
+	}
+	if (attach_tc_prog(&tc_hook, -1, set_dst_prog_fd)) {
+		close_netns(nstoken);
 		goto done;
+	}
 	close_netns(nstoken);
 
 	/* use veth1 ip 2 as tunnel source ip */
@@ -615,8 +627,7 @@ static void test_ipip_tunnel(enum ipip_encap encap)
 	if (!ASSERT_OK_PTR(nstoken, "setns"))
 		goto done;
 	err = test_ping(AF_INET, IP4_ADDR_TUNL_DEV1);
-	if (!ASSERT_OK(err, "test_ping"))
-		goto done;
+	ASSERT_OK(err, "test_ping");
 	close_netns(nstoken);
 
 done:
-- 
2.43.0





[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux