aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/tls.h
diff options
context:
space:
mode:
authorVakul Garg <vakul.garg@nxp.com>2018-09-26 16:22:08 +0530
committerDavid S. Miller <davem@davemloft.net>2018-09-29 11:41:28 -0700
commit80ece6a03aaf3f3215475826bdd2bb9f326bccfd (patch)
treece32bc34ac083fcfa9a64ad3db0e497b34319467 /include/net/tls.h
parentMerge branch 'tipc-next' (diff)
downloadlinux-dev-80ece6a03aaf3f3215475826bdd2bb9f326bccfd.tar.xz
linux-dev-80ece6a03aaf3f3215475826bdd2bb9f326bccfd.zip
tls: Remove redundant vars from tls record structure
Structure 'tls_rec' contains sg_aead_in and sg_aead_out which point to a aad_space and then chain scatterlists sg_plaintext_data, sg_encrypted_data respectively. Rather than using chained scatterlists for plaintext and encrypted data in aead_req, it is efficient to store aad_space in sg_encrypted_data and sg_plaintext_data itself in the first index and get rid of sg_aead_in, sg_aead_in and further chaining. This requires increasing size of sg_encrypted_data & sg_plaintext_data arrarys by 1 to accommodate entry for aad_space. The code which uses sg_encrypted_data and sg_plaintext_data has been modified to skip first index as it points to aad_space. Signed-off-by: Vakul Garg <vakul.garg@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tls.h')
-rw-r--r--include/net/tls.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/net/tls.h b/include/net/tls.h
index 1615fb5ea114..262420cdad10 100644
--- a/include/net/tls.h
+++ b/include/net/tls.h
@@ -101,13 +101,11 @@ struct tls_rec {
struct list_head list;
int tx_ready;
int tx_flags;
- struct scatterlist sg_plaintext_data[MAX_SKB_FRAGS];
- struct scatterlist sg_encrypted_data[MAX_SKB_FRAGS];
/* AAD | sg_plaintext_data | sg_tag */
- struct scatterlist sg_aead_in[2];
+ struct scatterlist sg_plaintext_data[MAX_SKB_FRAGS + 1];
/* AAD | sg_encrypted_data (data contain overhead for hdr&iv&tag) */
- struct scatterlist sg_aead_out[2];
+ struct scatterlist sg_encrypted_data[MAX_SKB_FRAGS + 1];
unsigned int sg_plaintext_size;
unsigned int sg_encrypted_size;