net/tls: remove unnecessary jump instructions in do_tls_setsockopt_conf()
authorZiyang Xuan <william.xuanziyang@huawei.com>
Sat, 19 Mar 2022 03:14:33 +0000 (11:14 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 21 Mar 2022 21:58:13 +0000 (14:58 -0700)
Avoid using "goto" jump instruction unconditionally when we
can return directly. Remove unnecessary jump instructions in
do_tls_setsockopt_conf().

Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/tls/tls_main.c

index 6bc2879..7b2b0e7 100644 (file)
@@ -553,10 +553,8 @@ static int do_tls_setsockopt_conf(struct sock *sk, sockptr_t optval,
        int rc = 0;
        int conf;
 
-       if (sockptr_is_null(optval) || (optlen < sizeof(*crypto_info))) {
-               rc = -EINVAL;
-               goto out;
-       }
+       if (sockptr_is_null(optval) || (optlen < sizeof(*crypto_info)))
+               return -EINVAL;
 
        if (tx) {
                crypto_info = &ctx->crypto_send.info;
@@ -567,10 +565,8 @@ static int do_tls_setsockopt_conf(struct sock *sk, sockptr_t optval,
        }
 
        /* Currently we don't support set crypto info more than one time */
-       if (TLS_CRYPTO_INFO_READY(crypto_info)) {
-               rc = -EBUSY;
-               goto out;
-       }
+       if (TLS_CRYPTO_INFO_READY(crypto_info))
+               return -EBUSY;
 
        rc = copy_from_sockptr(crypto_info, optval, sizeof(*crypto_info));
        if (rc) {
@@ -672,11 +668,10 @@ static int do_tls_setsockopt_conf(struct sock *sk, sockptr_t optval,
                ctx->sk_write_space = sk->sk_write_space;
                sk->sk_write_space = tls_write_space;
        }
-       goto out;
+       return 0;
 
 err_crypto_info:
        memzero_explicit(crypto_info, sizeof(union tls_crypto_context));
-out:
        return rc;
 }