xfrm: Cleanup error handling of xfrm_state_clone
authorSteffen Klassert <steffen.klassert@secunet.com>
Wed, 19 Feb 2014 12:33:24 +0000 (13:33 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Fri, 21 Feb 2014 06:53:28 +0000 (07:53 +0100)
The error pointer passed to xfrm_state_clone() is unchecked,
so remove it and indicate an error by returning a null pointer.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_state.c

index a750901ac3dbc09e06655f96482a94af42b70ca9..5339c26bb0cfeb1a7ee83dff854ea5a037847e18 100644 (file)
@@ -1148,10 +1148,9 @@ out:
 EXPORT_SYMBOL(xfrm_state_add);
 
 #ifdef CONFIG_XFRM_MIGRATE
-static struct xfrm_state *xfrm_state_clone(struct xfrm_state *orig, int *errp)
+static struct xfrm_state *xfrm_state_clone(struct xfrm_state *orig)
 {
        struct net *net = xs_net(orig);
-       int err = -ENOMEM;
        struct xfrm_state *x = xfrm_state_alloc(net);
        if (!x)
                goto out;
@@ -1200,15 +1199,13 @@ static struct xfrm_state *xfrm_state_clone(struct xfrm_state *orig, int *errp)
        }
 
        if (orig->replay_esn) {
-               err = xfrm_replay_clone(x, orig);
-               if (err)
+               if (xfrm_replay_clone(x, orig))
                        goto error;
        }
 
        memcpy(&x->mark, &orig->mark, sizeof(x->mark));
 
-       err = xfrm_init_state(x);
-       if (err)
+       if (xfrm_init_state(x) < 0)
                goto error;
 
        x->props.flags = orig->props.flags;
@@ -1223,8 +1220,6 @@ static struct xfrm_state *xfrm_state_clone(struct xfrm_state *orig, int *errp)
  error:
        xfrm_state_put(x);
 out:
-       if (errp)
-               *errp = err;
        return NULL;
 }
 
@@ -1276,9 +1271,8 @@ struct xfrm_state *xfrm_state_migrate(struct xfrm_state *x,
                                      struct xfrm_migrate *m)
 {
        struct xfrm_state *xc;
-       int err;
 
-       xc = xfrm_state_clone(x, &err);
+       xc = xfrm_state_clone(x);
        if (!xc)
                return NULL;
 
@@ -1291,7 +1285,7 @@ struct xfrm_state *xfrm_state_migrate(struct xfrm_state *x,
                   state is to be updated as it is a part of triplet */
                xfrm_state_insert(xc);
        } else {
-               if ((err = xfrm_state_add(xc)) < 0)
+               if (xfrm_state_add(xc) < 0)
                        goto error;
        }