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 |
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>
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 --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);
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(+)