From: Zhiqiang Liu <liuzhiqian...@huawei.com>
Date: Mon, 11 Feb 2019 10:57:46 +0800

> From: Zhiqiang Liu <liuzhiqian...@huawei.com>
> 
> Follow those steps:
>  # ip addr add 2001:123::1/32 dev eth0
>  # ip addr add 2001:123:456::2/64 dev eth0
>  # ip addr del 2001:123::1/32 dev eth0
>  # ip addr del 2001:123:456::2/64 dev eth0
> and then prefix route of 2001:123::1/32 will still exist.
> 
> This is because ipv6_prefix_equal in check_cleanup_prefix_route
> func does not check whether two IPv6 addresses have the same
> prefix length. If the prefix of one address starts with another
> shorter address prefix, even though their prefix lengths are
> different, the return value of ipv6_prefix_equal is true.
> 
> Here I add a check of whether two addresses have the same prefix
> to decide whether their prefixes are equal.
> 
> Fixes: 5b84efecb7d9 ("ipv6 addrconf: don't cleanup prefix route
> for IFA_F_NOPREFIXROUTE")
> Signed-off-by: Zhiqiang Liu <liuzhiqian...@huawei.com>
> Reported-by: Wenhao Zhang <zhangwenh...@huawei.com>

Applied and queued up for -stable.

Please do not split up long Fixes: tag lines, keep the entire tag on
one line only.

I fixed it up for you this time.

Thanks.

Reply via email to