diff mbox series

[net,1/2] selftests: tls: clean up uninitialized warnings

Message ID 20210618202504.1435179-1-kuba@kernel.org
State Accepted
Commit baa00119d69e3318da8d99867fc1170ebddf09ce
Headers show
Series [net,1/2] selftests: tls: clean up uninitialized warnings | expand

Commit Message

Jakub Kicinski June 18, 2021, 8:25 p.m. UTC
A bunch of tests uses uninitialized stack memory as random
data to send. This is harmless but generates compiler warnings.
Explicitly init the buffers with random data.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 tools/testing/selftests/net/tls.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Vadim Fedorenko June 18, 2021, 10:02 p.m. UTC | #1
On 18.06.2021 21:25, Jakub Kicinski wrote:
> A bunch of tests uses uninitialized stack memory as random
> data to send. This is harmless but generates compiler warnings.
> Explicitly init the buffers with random data.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
>   tools/testing/selftests/net/tls.c | 20 ++++++++++++++++++++
>   1 file changed, 20 insertions(+)
> 
> diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/net/tls.c
> index 426d07875a48..58fea6eb588d 100644
> --- a/tools/testing/selftests/net/tls.c
> +++ b/tools/testing/selftests/net/tls.c
> @@ -25,6 +25,18 @@
>   #define TLS_PAYLOAD_MAX_LEN 16384
>   #define SOL_TLS 282
>   
> +static void memrnd(void *s, size_t n)
> +{
> +	int *dword = s;
> +	char *byte;
> +
> +	for (; n >= 4; n -= 4)
> +		*dword++ = rand();
> +	byte = (void *)dword;
> +	while (n--)
> +		*byte++ = rand();
> +}
> +
>   FIXTURE(tls_basic)
>   {
>   	int fd, cfd;
> @@ -308,6 +320,8 @@ TEST_F(tls, recv_max)
>   	char recv_mem[TLS_PAYLOAD_MAX_LEN];
>   	char buf[TLS_PAYLOAD_MAX_LEN];
>   
> +	memrnd(buf, sizeof(buf));
> +
>   	EXPECT_GE(send(self->fd, buf, send_len, 0), 0);
>   	EXPECT_NE(recv(self->cfd, recv_mem, send_len, 0), -1);
>   	EXPECT_EQ(memcmp(buf, recv_mem, send_len), 0);
> @@ -588,6 +602,8 @@ TEST_F(tls, recvmsg_single_max)
>   	struct iovec vec;
>   	struct msghdr hdr;
>   
> +	memrnd(send_mem, sizeof(send_mem));
> +
>   	EXPECT_EQ(send(self->fd, send_mem, send_len, 0), send_len);
>   	vec.iov_base = (char *)recv_mem;
>   	vec.iov_len = TLS_PAYLOAD_MAX_LEN;
> @@ -610,6 +626,8 @@ TEST_F(tls, recvmsg_multiple)
>   	struct msghdr hdr;
>   	int i;
>   
> +	memrnd(buf, sizeof(buf));
> +
>   	EXPECT_EQ(send(self->fd, buf, send_len, 0), send_len);
>   	for (i = 0; i < msg_iovlen; i++) {
>   		iov_base[i] = (char *)malloc(iov_len);
> @@ -634,6 +652,8 @@ TEST_F(tls, single_send_multiple_recv)
>   	char send_mem[TLS_PAYLOAD_MAX_LEN * 2];
>   	char recv_mem[TLS_PAYLOAD_MAX_LEN * 2];
>   
> +	memrnd(send_mem, sizeof(send_mem));
> +
>   	EXPECT_GE(send(self->fd, send_mem, total_len, 0), 0);
>   	memset(recv_mem, 0, total_len);
>   
> 

Acked-by: Vadim Fedorenko <vfedorenko@novek.ru>
patchwork-bot+netdevbpf@kernel.org June 21, 2021, 7:20 p.m. UTC | #2
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Fri, 18 Jun 2021 13:25:03 -0700 you wrote:
> A bunch of tests uses uninitialized stack memory as random

> data to send. This is harmless but generates compiler warnings.

> Explicitly init the buffers with random data.

> 

> Signed-off-by: Jakub Kicinski <kuba@kernel.org>

> ---

>  tools/testing/selftests/net/tls.c | 20 ++++++++++++++++++++

>  1 file changed, 20 insertions(+)


Here is the summary with links:
  - [net,1/2] selftests: tls: clean up uninitialized warnings
    https://git.kernel.org/netdev/net-next/c/baa00119d69e
  - [net,2/2] selftests: tls: fix chacha+bidir tests
    https://git.kernel.org/netdev/net-next/c/291c53e4dacd

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/net/tls.c
index 426d07875a48..58fea6eb588d 100644
--- a/tools/testing/selftests/net/tls.c
+++ b/tools/testing/selftests/net/tls.c
@@ -25,6 +25,18 @@ 
 #define TLS_PAYLOAD_MAX_LEN 16384
 #define SOL_TLS 282
 
+static void memrnd(void *s, size_t n)
+{
+	int *dword = s;
+	char *byte;
+
+	for (; n >= 4; n -= 4)
+		*dword++ = rand();
+	byte = (void *)dword;
+	while (n--)
+		*byte++ = rand();
+}
+
 FIXTURE(tls_basic)
 {
 	int fd, cfd;
@@ -308,6 +320,8 @@  TEST_F(tls, recv_max)
 	char recv_mem[TLS_PAYLOAD_MAX_LEN];
 	char buf[TLS_PAYLOAD_MAX_LEN];
 
+	memrnd(buf, sizeof(buf));
+
 	EXPECT_GE(send(self->fd, buf, send_len, 0), 0);
 	EXPECT_NE(recv(self->cfd, recv_mem, send_len, 0), -1);
 	EXPECT_EQ(memcmp(buf, recv_mem, send_len), 0);
@@ -588,6 +602,8 @@  TEST_F(tls, recvmsg_single_max)
 	struct iovec vec;
 	struct msghdr hdr;
 
+	memrnd(send_mem, sizeof(send_mem));
+
 	EXPECT_EQ(send(self->fd, send_mem, send_len, 0), send_len);
 	vec.iov_base = (char *)recv_mem;
 	vec.iov_len = TLS_PAYLOAD_MAX_LEN;
@@ -610,6 +626,8 @@  TEST_F(tls, recvmsg_multiple)
 	struct msghdr hdr;
 	int i;
 
+	memrnd(buf, sizeof(buf));
+
 	EXPECT_EQ(send(self->fd, buf, send_len, 0), send_len);
 	for (i = 0; i < msg_iovlen; i++) {
 		iov_base[i] = (char *)malloc(iov_len);
@@ -634,6 +652,8 @@  TEST_F(tls, single_send_multiple_recv)
 	char send_mem[TLS_PAYLOAD_MAX_LEN * 2];
 	char recv_mem[TLS_PAYLOAD_MAX_LEN * 2];
 
+	memrnd(send_mem, sizeof(send_mem));
+
 	EXPECT_GE(send(self->fd, send_mem, total_len, 0), 0);
 	memset(recv_mem, 0, total_len);