net: tls: Fix deadlock in free_resources tx
authorDave Watson <davejwatson@fb.com>
Sun, 27 Jan 2019 00:59:03 +0000 (00:59 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Jan 2019 07:07:08 +0000 (23:07 -0800)
commit1023121375c6b0b3dc00334983c762ba2b76cb19
tree82e20cb9fb7643d6c8f74851ebcecaa98c1cc5d9
parent32eb67b93c9e3cd62cb423e30b090cdd4aa8d275
net: tls: Fix deadlock in free_resources tx

If there are outstanding async tx requests (when crypto returns EINPROGRESS),
there is a potential deadlock: the tx work acquires the lock, while we
cancel_delayed_work_sync() while holding the lock.  Drop the lock while waiting
for the work to complete.

Fixes: a42055e8d2c30 ("Add support for async encryption of records...")
Signed-off-by: Dave Watson <davejwatson@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_sw.c