The logic in rt6_age_examine_exception is confusing. The commit is
to refactor the code.

Signed-off-by: Xu Jia <xuji...@huawei.com>
---
 net/ipv6/route.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index ebb7519bec2a..f15c7605b11d 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -2085,13 +2085,10 @@ static void rt6_age_examine_exception(struct 
rt6_exception_bucket *bucket,
 
        if (rt->rt6i_flags & RTF_GATEWAY) {
                struct neighbour *neigh;
-               __u8 neigh_flags = 0;
 
                neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, 
&rt->rt6i_gateway);
-               if (neigh)
-                       neigh_flags = neigh->flags;
 
-               if (!(neigh_flags & NTF_ROUTER)) {
+               if (!(neigh && (neigh->flags & NTF_ROUTER))) {
                        RT6_TRACE("purging route %p via non-router but 
gateway\n",
                                  rt);
                        rt6_remove_exception(bucket, rt6_ex);
-- 
2.25.1

Reply via email to