| From foo@baz Tue 03 Dec 2019 07:39:03 AM CET |
| From: Jakub Kicinski <jakub.kicinski@netronome.com> |
| Date: Wed, 27 Nov 2019 12:16:43 -0800 |
| Subject: net/tls: remove the dead inplace_crypto code |
| |
| From: Jakub Kicinski <jakub.kicinski@netronome.com> |
| |
| [ Upstream commit 9e5ffed37df68d0ccfb2fdc528609e23a1e70ebe ] |
| |
| Looks like when BPF support was added by commit d3b18ad31f93 |
| ("tls: add bpf support to sk_msg handling") and |
| commit d829e9c4112b ("tls: convert to generic sk_msg interface") |
| it broke/removed the support for in-place crypto as added by |
| commit 4e6d47206c32 ("tls: Add support for inplace records |
| encryption"). |
| |
| The inplace_crypto member of struct tls_rec is dead, inited |
| to zero, and sometimes set to zero again. It used to be |
| set to 1 when record was allocated, but the skmsg code doesn't |
| seem to have been written with the idea of in-place crypto |
| in mind. |
| |
| Since non trivial effort is required to bring the feature back |
| and we don't really have the HW to measure the benefit just |
| remove the left over support for now to avoid confusing readers. |
| |
| Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> |
| Reviewed-by: Simon Horman <simon.horman@netronome.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| include/net/tls.h | 1 - |
| net/tls/tls_sw.c | 6 +----- |
| 2 files changed, 1 insertion(+), 6 deletions(-) |
| |
| --- a/include/net/tls.h |
| +++ b/include/net/tls.h |
| @@ -121,7 +121,6 @@ struct tls_rec { |
| struct list_head list; |
| int tx_ready; |
| int tx_flags; |
| - int inplace_crypto; |
| |
| struct sk_msg msg_plaintext; |
| struct sk_msg msg_encrypted; |
| --- a/net/tls/tls_sw.c |
| +++ b/net/tls/tls_sw.c |
| @@ -705,8 +705,7 @@ static int tls_push_record(struct sock * |
| } |
| |
| i = msg_pl->sg.start; |
| - sg_chain(rec->sg_aead_in, 2, rec->inplace_crypto ? |
| - &msg_en->sg.data[i] : &msg_pl->sg.data[i]); |
| + sg_chain(rec->sg_aead_in, 2, &msg_pl->sg.data[i]); |
| |
| i = msg_en->sg.end; |
| sk_msg_iter_var_prev(i); |
| @@ -971,8 +970,6 @@ alloc_encrypted: |
| if (ret) |
| goto fallback_to_reg_send; |
| |
| - rec->inplace_crypto = 0; |
| - |
| num_zc++; |
| copied += try_to_copy; |
| |
| @@ -1171,7 +1168,6 @@ alloc_payload: |
| |
| tls_ctx->pending_open_record_frags = true; |
| if (full_record || eor || sk_msg_full(msg_pl)) { |
| - rec->inplace_crypto = 0; |
| ret = bpf_exec_tx_verdict(msg_pl, sk, full_record, |
| record_type, &copied, flags); |
| if (ret) { |