Loading net/ipv6/ndisc.c +8 −8 Original line number Diff line number Diff line Loading @@ -1538,13 +1538,10 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, if (rt->rt6i_flags & RTF_GATEWAY) { ND_PRINTK2(KERN_WARNING "ICMPv6 Redirect: destination is not a neighbour.\n"); dst_release(dst); return; } if (!xrlim_allow(dst, 1*HZ)) { dst_release(dst); return; goto release; } if (!xrlim_allow(dst, 1*HZ)) goto release; if (dev->addr_len) { read_lock_bh(&neigh->lock); Loading @@ -1570,8 +1567,7 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, ND_PRINTK0(KERN_ERR "ICMPv6 Redirect: %s() failed to allocate an skb.\n", __func__); dst_release(dst); return; goto release; } skb_reserve(buff, LL_RESERVED_SPACE(dev)); Loading Loading @@ -1631,6 +1627,10 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, if (likely(idev != NULL)) in6_dev_put(idev); return; release: dst_release(dst); } static void pndisc_redo(struct sk_buff *skb) Loading Loading
net/ipv6/ndisc.c +8 −8 Original line number Diff line number Diff line Loading @@ -1538,13 +1538,10 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, if (rt->rt6i_flags & RTF_GATEWAY) { ND_PRINTK2(KERN_WARNING "ICMPv6 Redirect: destination is not a neighbour.\n"); dst_release(dst); return; } if (!xrlim_allow(dst, 1*HZ)) { dst_release(dst); return; goto release; } if (!xrlim_allow(dst, 1*HZ)) goto release; if (dev->addr_len) { read_lock_bh(&neigh->lock); Loading @@ -1570,8 +1567,7 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, ND_PRINTK0(KERN_ERR "ICMPv6 Redirect: %s() failed to allocate an skb.\n", __func__); dst_release(dst); return; goto release; } skb_reserve(buff, LL_RESERVED_SPACE(dev)); Loading Loading @@ -1631,6 +1627,10 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh, if (likely(idev != NULL)) in6_dev_put(idev); return; release: dst_release(dst); } static void pndisc_redo(struct sk_buff *skb) Loading