diff options
author | Boris Pismenny <borisp@mellanox.com> | 2018-02-14 10:46:07 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-02-14 15:05:19 -0500 |
commit | 257082e6ae23e92898440f6bcb2857555bf7957c (patch) | |
tree | fd325d7e2199022ad42b2f7fa8a0b83c397cf835 /net/tls | |
parent | a1dfa6812b682eef750412dd5a90e7d38d7af068 (diff) | |
download | linux-stable-257082e6ae23e92898440f6bcb2857555bf7957c.tar.gz linux-stable-257082e6ae23e92898440f6bcb2857555bf7957c.tar.bz2 linux-stable-257082e6ae23e92898440f6bcb2857555bf7957c.zip |
tls: reset the crypto info if copy_from_user fails
copy_from_user could copy some partial information, as a result
TLS_CRYPTO_INFO_READY(crypto_info) could be true while crypto_info is
using uninitialzed data.
This patch resets crypto_info when copy_from_user fails.
fixes: 3c4d7559159b ("tls: kernel TLS support")
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tls')
-rw-r--r-- | net/tls/tls_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c index a6c3702e0ddb..c105f86a7ea6 100644 --- a/net/tls/tls_main.c +++ b/net/tls/tls_main.c @@ -376,7 +376,7 @@ static int do_tls_setsockopt_tx(struct sock *sk, char __user *optval, rc = copy_from_user(crypto_info, optval, sizeof(*crypto_info)); if (rc) { rc = -EFAULT; - goto out; + goto err_crypto_info; } /* check version */ |