Message ID | ff064374eaddc774aacfef413ef56db1d525934f.1516114791.git.sd@queasysnail.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [net,1/3] tls: fix sw_ctx leak | expand |
From: Sabrina Dubroca <sd@queasysnail.net> Date: Tue, 16 Jan 2018 16:04:27 +0100 > do_tls_setsockopt_tx returns 0 without doing anything when crypto_info > is already set. Silent failure is confusing for users. > > Fixes: 3c4d7559159b ("tls: kernel TLS support") > Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Applied.
diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c index e07ee3ae0023..cdaaa9b8e84d 100644 --- a/net/tls/tls_main.c +++ b/net/tls/tls_main.c @@ -367,8 +367,10 @@ static int do_tls_setsockopt_tx(struct sock *sk, char __user *optval, crypto_info = &ctx->crypto_send; /* 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; + } rc = copy_from_user(crypto_info, optval, sizeof(*crypto_info)); if (rc) {
do_tls_setsockopt_tx returns 0 without doing anything when crypto_info is already set. Silent failure is confusing for users. Fixes: 3c4d7559159b ("tls: kernel TLS support") Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> --- net/tls/tls_main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)