diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/xfrm4_policy.c | 12 |
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 | } |