Reusing parts of error path for normal exit will make
next commit harder to read, untangle the two.

Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com>
Reviewed-by: John Hurley <john.hur...@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vanderme...@netronome.com>
---
 net/tls/tls_device.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c
index e188139f0464..2cd7318a1338 100644
--- a/net/tls/tls_device.c
+++ b/net/tls/tls_device.c
@@ -838,22 +838,18 @@ int tls_set_device_offload(struct sock *sk, struct 
tls_context *ctx)
        struct net_device *netdev;
        char *iv, *rec_seq;
        struct sk_buff *skb;
-       int rc = -EINVAL;
        __be64 rcd_sn;
+       int rc;
 
        if (!ctx)
-               goto out;
+               return -EINVAL;
 
-       if (ctx->priv_ctx_tx) {
-               rc = -EEXIST;
-               goto out;
-       }
+       if (ctx->priv_ctx_tx)
+               return -EEXIST;
 
        start_marker_record = kmalloc(sizeof(*start_marker_record), GFP_KERNEL);
-       if (!start_marker_record) {
-               rc = -ENOMEM;
-               goto out;
-       }
+       if (!start_marker_record)
+               return -ENOMEM;
 
        offload_ctx = kzalloc(TLS_OFFLOAD_CONTEXT_SIZE_TX, GFP_KERNEL);
        if (!offload_ctx) {
@@ -982,7 +978,8 @@ int tls_set_device_offload(struct sock *sk, struct 
tls_context *ctx)
        smp_store_release(&sk->sk_validate_xmit_skb, tls_validate_xmit_skb);
        dev_put(netdev);
        up_read(&device_offload_lock);
-       goto out;
+
+       return 0;
 
 release_netdev:
        dev_put(netdev);
@@ -999,7 +996,6 @@ int tls_set_device_offload(struct sock *sk, struct 
tls_context *ctx)
        ctx->priv_ctx_tx = NULL;
 free_marker_record:
        kfree(start_marker_record);
-out:
        return rc;
 }
 
@@ -1058,7 +1054,11 @@ int tls_set_device_offload_rx(struct sock *sk, struct 
tls_context *ctx)
                goto free_sw_resources;
 
        tls_device_attach(ctx, sk, netdev);
-       goto release_netdev;
+       up_read(&device_offload_lock);
+
+       dev_put(netdev);
+
+       return 0;
 
 free_sw_resources:
        up_read(&device_offload_lock);
-- 
2.21.0

Reply via email to