summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSabrina Dubroca <sd@queasysnail.net>2018-09-12 17:44:41 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-09-29 03:06:01 -0700
commit10cacaf13189711ce5c81222aaae3cd61a5ca848 (patch)
treedb33e94fa16fafb19819e49eea679602e73a990a /net
parentee547ed7dee4c888c63bd136e73dfa7c96466064 (diff)
tls: don't copy the key out of tls12_crypto_info_aes_gcm_128
[ Upstream commit 7cba09c6d5bc73ebbd25a353742d9ddb7a713b95 ] There's no need to copy the key to an on-stack buffer before calling crypto_aead_setkey(). Fixes: 3c4d7559159b ("tls: kernel TLS support") Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/tls/tls_sw.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c
index b81aa6d7dc45..7fd5e04755ea 100644
--- a/net/tls/tls_sw.c
+++ b/net/tls/tls_sw.c
@@ -661,7 +661,6 @@ static void tls_sw_free_resources(struct sock *sk)
int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx)
{
- char keyval[TLS_CIPHER_AES_GCM_128_KEY_SIZE];
struct tls_crypto_info *crypto_info;
struct tls12_crypto_info_aes_gcm_128 *gcm_128_info;
struct tls_sw_context *sw_ctx;
@@ -753,9 +752,7 @@ int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx)
ctx->push_pending_record = tls_sw_push_pending_record;
- memcpy(keyval, gcm_128_info->key, TLS_CIPHER_AES_GCM_128_KEY_SIZE);
-
- rc = crypto_aead_setkey(sw_ctx->aead_send, keyval,
+ rc = crypto_aead_setkey(sw_ctx->aead_send, gcm_128_info->key,
TLS_CIPHER_AES_GCM_128_KEY_SIZE);
if (rc)
goto free_aead;