mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 21:54:11 +08:00
tls: don't copy the key out of tls12_crypto_info_aes_gcm_128
There's no need to copy the key to an on-stack buffer before calling
crypto_aead_setkey().
Fixes: 3c4d755915
("tls: kernel TLS support")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f0e0d04413
commit
7cba09c6d5
@ -1136,7 +1136,6 @@ void tls_sw_free_resources_rx(struct sock *sk)
|
||||
|
||||
int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx, int tx)
|
||||
{
|
||||
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_tx *sw_ctx_tx = NULL;
|
||||
@ -1265,9 +1264,7 @@ int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx, int tx)
|
||||
|
||||
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(*aead, keyval,
|
||||
rc = crypto_aead_setkey(*aead, gcm_128_info->key,
|
||||
TLS_CIPHER_AES_GCM_128_KEY_SIZE);
|
||||
if (rc)
|
||||
goto free_aead;
|
||||
|
Loading…
Reference in New Issue
Block a user