net/tls: remove sock unlock/lock around strp_done()
authorJohn Fastabend <john.fastabend@gmail.com>
Fri, 19 Jul 2019 17:29:17 +0000 (10:29 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 22 Jul 2019 14:04:16 +0000 (16:04 +0200)
commit313ab004805cf52a42673b15852b3842474ccd87
treeee1ce348c4d631d6495ba2f8f2190c37c7c37d06
parentf87e62d45e51b12d48d2cb46b5cde8f83b866bc4
net/tls: remove sock unlock/lock around strp_done()

The tls close() callback currently drops the sock lock to call
strp_done(). Split up the RX cleanup into stopping the strparser
and releasing most resources, syncing strparser and finally
freeing the context.

To avoid the need for a strp_done() call on the cleanup path
of device offload make sure we don't arm the strparser until
we are sure init will be successful.

Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
include/net/tls.h
net/tls/tls_device.c
net/tls/tls_main.c
net/tls/tls_sw.c