| From foo@baz Wed 06 Nov 2019 04:08:37 PM CET |
| From: Wei Wang <weiwan@google.com> |
| Date: Thu, 31 Oct 2019 16:24:36 -0700 |
| Subject: selftests: net: reuseport_dualstack: fix uninitalized parameter |
| |
| From: Wei Wang <weiwan@google.com> |
| |
| [ Upstream commit d64479a3e3f9924074ca7b50bd72fa5211dca9c1 ] |
| |
| This test reports EINVAL for getsockopt(SOL_SOCKET, SO_DOMAIN) |
| occasionally due to the uninitialized length parameter. |
| Initialize it to fix this, and also use int for "test_family" to comply |
| with the API standard. |
| |
| Fixes: d6a61f80b871 ("soreuseport: test mixed v4/v6 sockets") |
| Reported-by: Maciej Żenczykowski <maze@google.com> |
| Signed-off-by: Eric Dumazet <edumazet@google.com> |
| Signed-off-by: Wei Wang <weiwan@google.com> |
| Cc: Craig Gallek <cgallek@google.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| tools/testing/selftests/net/reuseport_dualstack.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/tools/testing/selftests/net/reuseport_dualstack.c |
| +++ b/tools/testing/selftests/net/reuseport_dualstack.c |
| @@ -129,7 +129,7 @@ static void test(int *rcv_fds, int count |
| { |
| struct epoll_event ev; |
| int epfd, i, test_fd; |
| - uint16_t test_family; |
| + int test_family; |
| socklen_t len; |
| |
| epfd = epoll_create(1); |
| @@ -146,6 +146,7 @@ static void test(int *rcv_fds, int count |
| send_from_v4(proto); |
| |
| test_fd = receive_once(epfd, proto); |
| + len = sizeof(test_family); |
| if (getsockopt(test_fd, SOL_SOCKET, SO_DOMAIN, &test_family, &len)) |
| error(1, errno, "failed to read socket domain"); |
| if (test_family != AF_INET) |