On 3/2/18 4:09 PM, David Ahern wrote:
> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> index f0ae58424c45..792e7432ba6d 100644
> --- a/net/ipv6/route.c
> +++ b/net/ipv6/route.c
> @@ -2820,9 +2820,9 @@ static struct rt6_info *ip6_route_info_create(struct
> fib6_config *cfg,
> * prefix route was assigned to, which might be non-loopback.
> */
> err = -EINVAL;
> - if (ipv6_chk_addr_and_flags(net, gw_addr,
> + if (ipv6_chk_addr_and_flags(net, gw_addr, dev,
> gwa_type & IPV6_ADDR_LINKLOCAL ?
> - dev : NULL, 0, 0)) {
> + false : true, 0, 0)) {
> NL_SET_ERR_MSG(extack, "Invalid gateway address");
> goto out;
> }
Of course I find this right after sending the patch ....
The route add needs another check to see if it is a local address.
Please drop this one; will send a v2 next week.