]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/xfrm/xfrm_user.c
Blackfin arch: Fix bug - hardware breakpoint doesn't always work in kgdb
[linux-2.6-omap-h63xx.git] / net / xfrm / xfrm_user.c
index b7240d5b77ad0d9101b0297541b6f64248fb0471..b95a2d64eb59c3f86e066acc86fee8e2e7fb61e1 100644 (file)
@@ -368,9 +368,9 @@ static struct xfrm_state *xfrm_state_construct(struct net *net,
                goto error;
 
        x->km.seq = p->seq;
-       x->replay_maxdiff = sysctl_xfrm_aevent_rseqth;
+       x->replay_maxdiff = net->xfrm.sysctl_aevent_rseqth;
        /* sysctl_xfrm_aevent_etime is in 100ms units */
-       x->replay_maxage = (sysctl_xfrm_aevent_etime*HZ)/XFRM_AE_ETH_M;
+       x->replay_maxage = (net->xfrm.sysctl_aevent_etime*HZ)/XFRM_AE_ETH_M;
        x->preplay.bitmap = 0;
        x->preplay.seq = x->replay.seq+x->replay_maxdiff;
        x->preplay.oseq = x->replay.oseq +x->replay_maxdiff;
@@ -1688,21 +1688,16 @@ static int xfrm_add_acquire(struct sk_buff *skb, struct nlmsghdr *nlh,
        int err = -ENOMEM;
 
        if (!x)
-               return err;
+               goto nomem;
 
        err = verify_newpolicy_info(&ua->policy);
-       if (err) {
-               printk("BAD policy passed\n");
-               kfree(x);
-               return err;
-       }
+       if (err)
+               goto bad_policy;
 
        /*   build an XP */
        xp = xfrm_policy_construct(net, &ua->policy, attrs, &err);
-       if (!xp) {
-               kfree(x);
-               return err;
-       }
+       if (!xp)
+               goto free_state;
 
        memcpy(&x->id, &ua->id, sizeof(ua->id));
        memcpy(&x->props.saddr, &ua->saddr, sizeof(ua->saddr));
@@ -1727,6 +1722,13 @@ static int xfrm_add_acquire(struct sk_buff *skb, struct nlmsghdr *nlh,
        kfree(xp);
 
        return 0;
+
+bad_policy:
+       printk("BAD policy passed\n");
+free_state:
+       kfree(x);
+nomem:
+       return err;
 }
 
 #ifdef CONFIG_XFRM_MIGRATE