Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac55cd61 authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller
Browse files

tls: return -EFAULT if copy_to_user() fails



The copy_to_user() function returns the number of bytes remaining but we
want to return -EFAULT here.

Fixes: 3c4d7559 ("tls: kernel TLS support")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarDave Watson <davejwatson@fb.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 93bbbfbb
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -273,7 +273,8 @@ static int do_tls_getsockopt_tx(struct sock *sk, char __user *optval,
	}

	if (len == sizeof(crypto_info)) {
		rc = copy_to_user(optval, crypto_info, sizeof(*crypto_info));
		if (copy_to_user(optval, crypto_info, sizeof(*crypto_info)))
			rc = -EFAULT;
		goto out;
	}

@@ -293,9 +294,10 @@ static int do_tls_getsockopt_tx(struct sock *sk, char __user *optval,
		memcpy(crypto_info_aes_gcm_128->iv, ctx->iv,
		       TLS_CIPHER_AES_GCM_128_IV_SIZE);
		release_sock(sk);
		rc = copy_to_user(optval,
		if (copy_to_user(optval,
				 crypto_info_aes_gcm_128,
				  sizeof(*crypto_info_aes_gcm_128));
				 sizeof(*crypto_info_aes_gcm_128)))
			rc = -EFAULT;
		break;
	}
	default: