Hi Vakul,

On 3/12/2019 9:09 AM, Vakul Garg wrote:
> A previous fix ("tls: Fix write space handling") assumed that
> user space application gets informed about the socket send buffer
> availability when tls_push_sg() gets called. Inside tls_push_sg(), in
> case do_tcp_sendpages() returns 0, the function returns without calling
> ctx->sk_write_space. Further, the new function tls_sw_write_space()
> did not invoke ctx->sk_write_space. This leads to situation that user
> space application encounters a lockup always waiting for socket send
> buffer to become available.
> 
> Rather than call ctx->sk_write_space from tls_push_sg(), it should be
> called from tls_sw_write_space. So whenever tcp stack invokes
> sk->sk_write_space after freeing socket send buffer, we always declare
> the same to user space by the way of invoking ctx->sk_write_space. The
> function tls_device_write_space() already invokes ctx->sk_write_space.
> 

Thanks for your patch. Since both tls_device and tls_sw call this. I 
suggest we remove the if condition in tls_device, then unify the code 
and place the call in tls_main.

Reviewed-by: Boris Pismenny <bor...@mellanox.com>

Reply via email to