> 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.Thank you for applying the patch.
>
> 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.
This is the first patch in my life. Thank you and David Ahern again.