diff options
Diffstat (limited to 'net/ipv6/anycast.c')
| -rw-r--r-- | net/ipv6/anycast.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv6/anycast.c b/net/ipv6/anycast.c index 674255f5e6b..59402b4637f 100644 --- a/net/ipv6/anycast.c +++ b/net/ipv6/anycast.c @@ -75,7 +75,7 @@ int ipv6_sock_ac_join(struct sock *sk, int ifindex, const struct in6_addr *addr)  	if (pac == NULL)  		return -ENOMEM;  	pac->acl_next = NULL; -	ipv6_addr_copy(&pac->acl_addr, addr); +	pac->acl_addr = *addr;  	rcu_read_lock();  	if (ifindex == 0) { @@ -83,7 +83,7 @@ int ipv6_sock_ac_join(struct sock *sk, int ifindex, const struct in6_addr *addr)  		rt = rt6_lookup(net, addr, NULL, 0, 0);  		if (rt) { -			dev = rt->rt6i_dev; +			dev = rt->dst.dev;  			dst_release(&rt->dst);  		} else if (ishost) {  			err = -EADDRNOTAVAIL; @@ -289,14 +289,14 @@ int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr)  		goto out;  	} -	rt = addrconf_dst_alloc(idev, addr, 1); +	rt = addrconf_dst_alloc(idev, addr, true);  	if (IS_ERR(rt)) {  		kfree(aca);  		err = PTR_ERR(rt);  		goto out;  	} -	ipv6_addr_copy(&aca->aca_addr, addr); +	aca->aca_addr = *addr;  	aca->aca_idev = idev;  	aca->aca_rt = rt;  	aca->aca_users = 1;  |