Merge branch 'net-tls-two-fixes-for-rx_list-pre-handling'
authorDavid S. Miller <davem@davemloft.net>
Mon, 27 May 2019 04:47:13 +0000 (21:47 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 May 2019 04:47:13 +0000 (21:47 -0700)
Jakub Kicinski says:

====================
net/tls: two fixes for rx_list pre-handling

tls_sw_recvmsg() had been modified to cater better to async decrypt.
Partially read records now live on the rx_list. Data is copied from
this list before the old do {} while loop, and the not included
correctly in deciding whether to sleep or not and lowat threshold
handling. These modifications, unfortunately, added some bugs.

First patch fixes lowat - we need to calculate the threshold early
and make sure all copied data is compared to the threshold, not just
the freshly decrypted data.

Third patch fixes sleep - if data is picked up from rx_list and
no flags are set, we should not put the process to sleep, but
rather return the partial read.

Patches 2 and 4 add test cases for these bugs, both will cause
a sleep and test timeout before the fix.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

Trivial merge