]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/5.1.7/selftests-tls-add-test-for-sleeping-even-though-there-is-data.patch
Linux 5.1.7
[thirdparty/kernel/stable-queue.git] / releases / 5.1.7 / selftests-tls-add-test-for-sleeping-even-though-there-is-data.patch
CommitLineData
ffc20820
GKH
1From foo@baz Fri 31 May 2019 03:16:39 PM PDT
2From: Jakub Kicinski <jakub.kicinski@netronome.com>
3Date: Fri, 24 May 2019 10:34:33 -0700
4Subject: selftests/tls: add test for sleeping even though there is data
5
6From: Jakub Kicinski <jakub.kicinski@netronome.com>
7
8[ Upstream commit 043556d0917a1a5ea58795fe1656a2bce06d2649 ]
9
10Add a test which sends 15 bytes of data, and then tries
11to read 10 byes twice. Previously the second read would
12sleep indifinitely, since the record was already decrypted
13and there is only 5 bytes left, not full 10.
14
15Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
16Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
17Signed-off-by: David S. Miller <davem@davemloft.net>
18Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19---
20 tools/testing/selftests/net/tls.c | 15 +++++++++++++++
21 1 file changed, 15 insertions(+)
22
23--- a/tools/testing/selftests/net/tls.c
24+++ b/tools/testing/selftests/net/tls.c
25@@ -442,6 +442,21 @@ TEST_F(tls, multiple_send_single_recv)
26 EXPECT_EQ(memcmp(send_mem, recv_mem + send_len, send_len), 0);
27 }
28
29+TEST_F(tls, single_send_multiple_recv_non_align)
30+{
31+ const unsigned int total_len = 15;
32+ const unsigned int recv_len = 10;
33+ char recv_mem[recv_len * 2];
34+ char send_mem[total_len];
35+
36+ EXPECT_GE(send(self->fd, send_mem, total_len, 0), 0);
37+ memset(recv_mem, 0, total_len);
38+
39+ EXPECT_EQ(recv(self->cfd, recv_mem, recv_len, 0), recv_len);
40+ EXPECT_EQ(recv(self->cfd, recv_mem + recv_len, recv_len, 0), 5);
41+ EXPECT_EQ(memcmp(send_mem, recv_mem, total_len), 0);
42+}
43+
44 TEST_F(tls, recv_partial)
45 {
46 char const *test_str = "test_read_partial";