]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net/tls: don't jump to return
authorJakub Kicinski <jakub.kicinski@netronome.com>
Tue, 3 Sep 2019 04:31:03 +0000 (21:31 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Sep 2019 07:49:49 +0000 (09:49 +0200)
Reusing parts of error path for normal exit will make
next commit harder to read, untangle the two.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: John Hurley <john.hurley@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_device.c

index e188139f046448377198154cd9d1dff9a5a92130..2cd7318a1338a06c7593992418e2041f3a8022a4 100644 (file)
@@ -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);