net/tls: remove the dead inplace_crypto code
authorJakub Kicinski <jakub.kicinski@netronome.com>
Wed, 27 Nov 2019 20:16:43 +0000 (12:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Nov 2019 06:40:29 +0000 (22:40 -0800)
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>
include/net/tls.h
net/tls/tls_sw.c

index 6ed91e82edd009a1d81898850ec22390343bc2aa..9d32f7ce6b319cf3d08063cc5830b76ded128425 100644 (file)
@@ -100,7 +100,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;
index dbba51b69d212b449ec398aa2cdd26aa221ceb05..5989dfe5c4434ae44e67d5c23b0a178a3f6666fa 100644 (file)
@@ -710,8 +710,7 @@ static int tls_push_record(struct sock *sk, int flags,
        }
 
        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);
@@ -976,8 +975,6 @@ alloc_encrypted:
                        if (ret)
                                goto fallback_to_reg_send;
 
-                       rec->inplace_crypto = 0;
-
                        num_zc++;
                        copied += try_to_copy;
 
@@ -1176,7 +1173,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) {