Don't maintain two RX paths in do_rx(). Unify on recvmsg() and pass aux
data only when needed.

No functional change.

Signed-off-by: Joe Damato <[email protected]>
---
 tools/testing/selftests/net/psock_snd.c | 28 ++++++++++---------------
 1 file changed, 11 insertions(+), 17 deletions(-)

diff --git a/tools/testing/selftests/net/psock_snd.c 
b/tools/testing/selftests/net/psock_snd.c
index d506ea19491b..b2593daca603 100644
--- a/tools/testing/selftests/net/psock_snd.c
+++ b/tools/testing/selftests/net/psock_snd.c
@@ -314,25 +314,22 @@ static void do_rx(int fd, int expected_len, char 
*expected, bool is_psock)
 {
        char cmsg_buf[1024] __attribute__((aligned(8))) = {};
        bool aux = is_psock && cfg_aux_data;
-       struct msghdr msg = {};
-       struct iovec iov[1];
+       struct iovec iov = {
+               .iov_base = rbuf,
+               .iov_len = sizeof(rbuf),
+       };
+       struct msghdr msg = {
+               .msg_iov = &iov,
+               .msg_iovlen = 1,
+       };
        int ret;
 
        if (aux) {
-               iov[0].iov_base = rbuf;
-               iov[0].iov_len = sizeof(rbuf);
-
-               msg.msg_iov = iov;
-               msg.msg_iovlen = 1;
-
                msg.msg_control = cmsg_buf;
                msg.msg_controllen = sizeof(cmsg_buf);
-
-               ret = recvmsg(fd, &msg, 0);
-       } else {
-               ret = recv(fd, rbuf, sizeof(rbuf), 0);
        }
 
+       ret = recvmsg(fd, &msg, 0);
        if (ret == -1)
                error(1, errno, "recv");
        if (ret != expected_len)
@@ -341,11 +338,8 @@ static void do_rx(int fd, int expected_len, char 
*expected, bool is_psock)
        if (memcmp(rbuf, expected, ret))
                error(1, 0, "recv: data mismatch");
 
-       if (aux) {
-               struct cmsghdr *cmsg = CMSG_FIRSTHDR(&msg);
-
-               check_aux_data(cmsg, expected_len);
-       }
+       if (aux)
+               check_aux_data(CMSG_FIRSTHDR(&msg), expected_len);
 
        fprintf(stderr, "rx: %u\n", ret);
 }
-- 
2.53.0-Meta


Reply via email to