xfrm4_policy.c (de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5) | xfrm4_policy.c (2774c7aba6c97a2535be3309a2209770953780b3) |
---|---|
1/* 2 * xfrm4_policy.c 3 * 4 * Changes: 5 * Kazunori MIYAZAWA @USAGI 6 * YOSHIFUJI Hideaki @USAGI 7 * Split up af-specific portion 8 * --- 292 unchanged lines hidden (view full) --- 301{ 302 struct xfrm_dst *xdst; 303 304 if (!unregister) 305 return; 306 307 xdst = (struct xfrm_dst *)dst; 308 if (xdst->u.rt.idev->dev == dev) { | 1/* 2 * xfrm4_policy.c 3 * 4 * Changes: 5 * Kazunori MIYAZAWA @USAGI 6 * YOSHIFUJI Hideaki @USAGI 7 * Split up af-specific portion 8 * --- 292 unchanged lines hidden (view full) --- 301{ 302 struct xfrm_dst *xdst; 303 304 if (!unregister) 305 return; 306 307 xdst = (struct xfrm_dst *)dst; 308 if (xdst->u.rt.idev->dev == dev) { |
309 struct in_device *loopback_idev = in_dev_get(loopback_dev); | 309 struct in_device *loopback_idev = in_dev_get(init_net.loopback_dev); |
310 BUG_ON(!loopback_idev); 311 312 do { 313 in_dev_put(xdst->u.rt.idev); 314 xdst->u.rt.idev = loopback_idev; 315 in_dev_hold(loopback_idev); 316 xdst = (struct xfrm_dst *)xdst->u.dst.child; 317 } while (xdst->u.dst.xfrm); --- 44 unchanged lines hidden --- | 310 BUG_ON(!loopback_idev); 311 312 do { 313 in_dev_put(xdst->u.rt.idev); 314 xdst->u.rt.idev = loopback_idev; 315 in_dev_hold(loopback_idev); 316 xdst = (struct xfrm_dst *)xdst->u.dst.child; 317 } while (xdst->u.dst.xfrm); --- 44 unchanged lines hidden --- |