summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Kicinski <jakub.kicinski@netronome.com>2019-09-03 00:31:03 -0400
committerDavid S. Miller <davem@davemloft.net>2019-09-05 03:49:49 -0400
commit90962b4894f560432e5538e9a354ee708f8beb3d (patch)
treea1027a48789a0a18fa7144663cfed687e2707274
parentbe7bbea114d6ab2688b9e59cd24a306d21e51c27 (diff)
net/tls: don't jump to return
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>
-rw-r--r--net/tls/tls_device.c26
1 files 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)
838 struct net_device *netdev; 838 struct net_device *netdev;
839 char *iv, *rec_seq; 839 char *iv, *rec_seq;
840 struct sk_buff *skb; 840 struct sk_buff *skb;
841 int rc = -EINVAL;
842 __be64 rcd_sn; 841 __be64 rcd_sn;
842 int rc;
843 843
844 if (!ctx) 844 if (!ctx)
845 goto out; 845 return -EINVAL;
846 846
847 if (ctx->priv_ctx_tx) { 847 if (ctx->priv_ctx_tx)
848 rc = -EEXIST; 848 return -EEXIST;
849 goto out;
850 }
851 849
852 start_marker_record = kmalloc(sizeof(*start_marker_record), GFP_KERNEL); 850 start_marker_record = kmalloc(sizeof(*start_marker_record), GFP_KERNEL);
853 if (!start_marker_record) { 851 if (!start_marker_record)
854 rc = -ENOMEM; 852 return -ENOMEM;
855 goto out;
856 }
857 853
858 offload_ctx = kzalloc(TLS_OFFLOAD_CONTEXT_SIZE_TX, GFP_KERNEL); 854 offload_ctx = kzalloc(TLS_OFFLOAD_CONTEXT_SIZE_TX, GFP_KERNEL);
859 if (!offload_ctx) { 855 if (!offload_ctx) {
@@ -982,7 +978,8 @@ int tls_set_device_offload(struct sock *sk, struct tls_context *ctx)
982 smp_store_release(&sk->sk_validate_xmit_skb, tls_validate_xmit_skb); 978 smp_store_release(&sk->sk_validate_xmit_skb, tls_validate_xmit_skb);
983 dev_put(netdev); 979 dev_put(netdev);
984 up_read(&device_offload_lock); 980 up_read(&device_offload_lock);
985 goto out; 981
982 return 0;
986 983
987release_netdev: 984release_netdev:
988 dev_put(netdev); 985 dev_put(netdev);
@@ -999,7 +996,6 @@ free_offload_ctx:
999 ctx->priv_ctx_tx = NULL; 996 ctx->priv_ctx_tx = NULL;
1000free_marker_record: 997free_marker_record:
1001 kfree(start_marker_record); 998 kfree(start_marker_record);
1002out:
1003 return rc; 999 return rc;
1004} 1000}
1005 1001
@@ -1058,7 +1054,11 @@ int tls_set_device_offload_rx(struct sock *sk, struct tls_context *ctx)
1058 goto free_sw_resources; 1054 goto free_sw_resources;
1059 1055
1060 tls_device_attach(ctx, sk, netdev); 1056 tls_device_attach(ctx, sk, netdev);
1061 goto release_netdev; 1057 up_read(&device_offload_lock);
1058
1059 dev_put(netdev);
1060
1061 return 0;
1062 1062
1063free_sw_resources: 1063free_sw_resources:
1064 up_read(&device_offload_lock); 1064 up_read(&device_offload_lock);