[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190211.203801.1570457113402893162.davem@davemloft.net>
Date: Mon, 11 Feb 2019 20:38:01 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: liuzhiqiang26@...wei.com
Cc: kuznet@....inr.ac.ru, yoshfuji@...ux-ipv6.org, 0xeffeff@...il.com,
edumazet@...gle.com, netdev@...r.kernel.org,
mingfangsen@...wei.com, zhangwenhao8@...wei.com,
wangxiaogang3@...wei.com, zhoukang7@...wei.com, dsahern@...il.com,
thaller@...hat.com, maowenan@...wei.com
Subject: Re: [PATCH v2] net: fix IPv6 prefix route residue
From: Zhiqiang Liu <liuzhiqiang26@...wei.com>
Date: Mon, 11 Feb 2019 10:57:46 +0800
> From: Zhiqiang Liu <liuzhiqiang26@...wei.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 <liuzhiqiang26@...wei.com>
> Reported-by: Wenhao Zhang <zhangwenhao8@...wei.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.
Powered by blists - more mailing lists