Commit 877d17c7 authored by Sabrina Dubroca's avatar Sabrina Dubroca Committed by David S. Miller

tls: return -EBUSY if crypto_info is already set

do_tls_setsockopt_tx returns 0 without doing anything when crypto_info
is already set. Silent failure is confusing for users.

Fixes: 3c4d7559 ("tls: kernel TLS support")
Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cf6d43ef
...@@ -367,8 +367,10 @@ static int do_tls_setsockopt_tx(struct sock *sk, char __user *optval, ...@@ -367,8 +367,10 @@ static int do_tls_setsockopt_tx(struct sock *sk, char __user *optval,
crypto_info = &ctx->crypto_send; crypto_info = &ctx->crypto_send;
/* Currently we don't support set crypto info more than one time */ /* Currently we don't support set crypto info more than one time */
if (TLS_CRYPTO_INFO_READY(crypto_info)) if (TLS_CRYPTO_INFO_READY(crypto_info)) {
rc = -EBUSY;
goto out; goto out;
}
rc = copy_from_user(crypto_info, optval, sizeof(*crypto_info)); rc = copy_from_user(crypto_info, optval, sizeof(*crypto_info));
if (rc) { if (rc) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment