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 | |
| parent | a1dfa6812b682eef750412dd5a90e7d38d7af068 (diff) | |
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>
| -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 */ | 
