On Mon, 2012-10-29 at 16:16 +0800, Cong Wang wrote:
quoted hunk ↗ jump to hunk
When 'rt' is NULL, '&rt->dst' is NULL too because >dst
is always the first field of 'rt'. And dst_release accepts
NULL.
Cc: Eric Dumazet <redacted>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <redacted>
---
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 8f0b12a..adeb479 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2027,8 +2027,7 @@ void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len, bool sllao)
addrconf_prefix_route(&pinfo->prefix, pinfo->prefix_len,
dev, expires, flags);
}
- if (rt)
- dst_release(&rt->dst);
+ dst_release(&rt->dst);
}
/* Try to figure out our local address for this prefix */
Could you instead introduce a helper for that, like we have in IPv4.
(ip_rt_put() -> ip6_rt_put() or something...)
See my followup patch for ipv4