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: 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:
Родитель
cf6d43ef66
Коммит
877d17c79b
|
@ -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) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче