Skip to content

Commit 4e3dec2

Browse files
mmhalMartin KaFai Lau
authored andcommitted
selftests/bpf: Simplify inet_socketpair() and vsock_socketpair_connectible()
Replace implementation with a call to a generic function. Reviewed-by: Jakub Sitnicki <[email protected]> Tested-by: Jakub Sitnicki <[email protected]> Signed-off-by: Michal Luczaj <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin KaFai Lau <[email protected]>
1 parent b08f205 commit 4e3dec2

File tree

1 file changed

+2
-81
lines changed

1 file changed

+2
-81
lines changed

tools/testing/selftests/bpf/prog_tests/sockmap_listen.c

Lines changed: 2 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,49 +1490,7 @@ static void test_unix_redir(struct test_sockmap_listen *skel, struct bpf_map *ma
14901490
/* Returns two connected loopback vsock sockets */
14911491
static int vsock_socketpair_connectible(int sotype, int *v0, int *v1)
14921492
{
1493-
struct sockaddr_storage addr;
1494-
socklen_t len = sizeof(addr);
1495-
int s, p, c;
1496-
1497-
s = socket_loopback(AF_VSOCK, sotype);
1498-
if (s < 0)
1499-
return -1;
1500-
1501-
c = xsocket(AF_VSOCK, sotype | SOCK_NONBLOCK, 0);
1502-
if (c == -1)
1503-
goto close_srv;
1504-
1505-
if (getsockname(s, sockaddr(&addr), &len) < 0)
1506-
goto close_cli;
1507-
1508-
if (connect(c, sockaddr(&addr), len) < 0 && errno != EINPROGRESS) {
1509-
FAIL_ERRNO("connect");
1510-
goto close_cli;
1511-
}
1512-
1513-
len = sizeof(addr);
1514-
p = accept_timeout(s, sockaddr(&addr), &len, IO_TIMEOUT_SEC);
1515-
if (p < 0)
1516-
goto close_cli;
1517-
1518-
if (poll_connect(c, IO_TIMEOUT_SEC) < 0) {
1519-
FAIL_ERRNO("poll_connect");
1520-
goto close_acc;
1521-
}
1522-
1523-
*v0 = p;
1524-
*v1 = c;
1525-
1526-
return 0;
1527-
1528-
close_acc:
1529-
close(p);
1530-
close_cli:
1531-
close(c);
1532-
close_srv:
1533-
close(s);
1534-
1535-
return -1;
1493+
return create_pair(AF_VSOCK, sotype | SOCK_NONBLOCK, v0, v1);
15361494
}
15371495

15381496
static void vsock_unix_redir_connectible(int sock_mapfd, int verd_mapfd,
@@ -1681,44 +1639,7 @@ static void test_reuseport(struct test_sockmap_listen *skel,
16811639

16821640
static int inet_socketpair(int family, int type, int *s, int *c)
16831641
{
1684-
struct sockaddr_storage addr;
1685-
socklen_t len;
1686-
int p0, c0;
1687-
int err;
1688-
1689-
p0 = socket_loopback(family, type | SOCK_NONBLOCK);
1690-
if (p0 < 0)
1691-
return p0;
1692-
1693-
len = sizeof(addr);
1694-
err = xgetsockname(p0, sockaddr(&addr), &len);
1695-
if (err)
1696-
goto close_peer0;
1697-
1698-
c0 = xsocket(family, type | SOCK_NONBLOCK, 0);
1699-
if (c0 < 0) {
1700-
err = c0;
1701-
goto close_peer0;
1702-
}
1703-
err = xconnect(c0, sockaddr(&addr), len);
1704-
if (err)
1705-
goto close_cli0;
1706-
err = xgetsockname(c0, sockaddr(&addr), &len);
1707-
if (err)
1708-
goto close_cli0;
1709-
err = xconnect(p0, sockaddr(&addr), len);
1710-
if (err)
1711-
goto close_cli0;
1712-
1713-
*s = p0;
1714-
*c = c0;
1715-
return 0;
1716-
1717-
close_cli0:
1718-
xclose(c0);
1719-
close_peer0:
1720-
xclose(p0);
1721-
return err;
1642+
return create_pair(family, type | SOCK_NONBLOCK, s, c);
17221643
}
17231644

17241645
static void udp_redir_to_connected(int family, int sock_mapfd, int verd_mapfd,

0 commit comments

Comments
 (0)