diff options
author | Doron Roberts-Kedes <doronrk@fb.com> | 2018-07-18 16:22:27 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-20 14:38:14 -0700 |
commit | fcf4793e278edede8fcd748198d12128037e526c (patch) | |
tree | 99b924611fb7e310f49c63db0375b2cfcf2eefac /lib/refcount.c | |
parent | f7a6eb1e155d0760a6d62bc17cf665205d43e9b1 (diff) |
tls: check RCV_SHUTDOWN in tls_wait_data
The current code does not check sk->sk_shutdown & RCV_SHUTDOWN.
tls_sw_recvmsg may return a positive value in the case where bytes have
already been copied when the socket is shutdown. sk->sk_err has been
cleared, causing the tls_wait_data to hang forever on a subsequent
invocation. Checking sk->sk_shutdown & RCV_SHUTDOWN, as in tcp_recvmsg,
fixes this problem.
Fixes: c46234ebb4d1 ("tls: RX path for ktls")
Acked-by: Dave Watson <davejwatson@fb.com>
Signed-off-by: Doron Roberts-Kedes <doronrk@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/refcount.c')
0 files changed, 0 insertions, 0 deletions