]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/5.1.7/selftests-tls-add-test-for-sleeping-even-though-there-is-data.patch
4.14-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 5.1.7 / selftests-tls-add-test-for-sleeping-even-though-there-is-data.patch
1 From foo@baz Fri 31 May 2019 03:16:39 PM PDT
2 From: Jakub Kicinski <jakub.kicinski@netronome.com>
3 Date: Fri, 24 May 2019 10:34:33 -0700
4 Subject: selftests/tls: add test for sleeping even though there is data
5
6 From: Jakub Kicinski <jakub.kicinski@netronome.com>
7
8 [ Upstream commit 043556d0917a1a5ea58795fe1656a2bce06d2649 ]
9
10 Add a test which sends 15 bytes of data, and then tries
11 to read 10 byes twice. Previously the second read would
12 sleep indifinitely, since the record was already decrypted
13 and there is only 5 bytes left, not full 10.
14
15 Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
16 Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
17 Signed-off-by: David S. Miller <davem@davemloft.net>
18 Signed-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";