aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/xfrm4_policy.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c
index c65b8e03c049..1f0ea0e0371b 100644
--- a/net/ipv4/xfrm4_policy.c
+++ b/net/ipv4/xfrm4_policy.c
@@ -169,16 +169,16 @@ __xfrm4_bundle_create(struct xfrm_policy *policy, struct xfrm_state **xfrm, int
169 dst_prev->neighbour = neigh_clone(rt->u.dst.neighbour); 169 dst_prev->neighbour = neigh_clone(rt->u.dst.neighbour);
170 dst_prev->input = rt->u.dst.input; 170 dst_prev->input = rt->u.dst.input;
171 dst_prev->output = dst_prev->xfrm->mode->afinfo->output; 171 dst_prev->output = dst_prev->xfrm->mode->afinfo->output;
172 if (dst_prev->xfrm->props.family == AF_INET && rt->peer) 172 if (rt0->peer)
173 atomic_inc(&rt->peer->refcnt); 173 atomic_inc(&rt0->peer->refcnt);
174 x->u.rt.peer = rt->peer; 174 x->u.rt.peer = rt0->peer;
175 /* Sheit... I remember I did this right. Apparently, 175 /* Sheit... I remember I did this right. Apparently,
176 * it was magically lost, so this code needs audit */ 176 * it was magically lost, so this code needs audit */
177 x->u.rt.rt_flags = rt0->rt_flags&(RTCF_BROADCAST|RTCF_MULTICAST|RTCF_LOCAL); 177 x->u.rt.rt_flags = rt0->rt_flags&(RTCF_BROADCAST|RTCF_MULTICAST|RTCF_LOCAL);
178 x->u.rt.rt_type = rt->rt_type; 178 x->u.rt.rt_type = rt0->rt_type;
179 x->u.rt.rt_src = rt0->rt_src; 179 x->u.rt.rt_src = rt0->rt_src;
180 x->u.rt.rt_dst = rt0->rt_dst; 180 x->u.rt.rt_dst = rt0->rt_dst;
181 x->u.rt.rt_gateway = rt->rt_gateway; 181 x->u.rt.rt_gateway = rt0->rt_gateway;
182 x->u.rt.rt_spec_dst = rt0->rt_spec_dst; 182 x->u.rt.rt_spec_dst = rt0->rt_spec_dst;
183 x->u.rt.idev = rt0->idev; 183 x->u.rt.idev = rt0->idev;
184 in_dev_hold(rt0->idev); 184 in_dev_hold(rt0->idev);
@@ -280,7 +280,7 @@ static void xfrm4_dst_destroy(struct dst_entry *dst)
280 280
281 if (likely(xdst->u.rt.idev)) 281 if (likely(xdst->u.rt.idev))
282 in_dev_put(xdst->u.rt.idev); 282 in_dev_put(xdst->u.rt.idev);
283 if (dst->xfrm && dst->xfrm->props.family == AF_INET && likely(xdst->u.rt.peer)) 283 if (likely(xdst->u.rt.peer))
284 inet_putpeer(xdst->u.rt.peer); 284 inet_putpeer(xdst->u.rt.peer);
285 xfrm_dst_destroy(xdst); 285 xfrm_dst_destroy(xdst);
286} 286}