diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2019-09-02 21:31:03 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-09-05 09:49:49 +0200 |
commit | 90962b4894f560432e5538e9a354ee708f8beb3d (patch) | |
tree | a1027a48789a0a18fa7144663cfed687e2707274 /net | |
parent | be7bbea114d6ab2688b9e59cd24a306d21e51c27 (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>
Diffstat (limited to 'net')
-rw-r--r-- | net/tls/tls_device.c | 26 |
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) 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 @@ free_offload_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); |