The "score.rule++" doesn't make any sense for me.
According to codes above, I think it should be "hiscore.rule++;" .
Signed-off-by: Yan Zheng<yanzheng@21cn.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
                        }
 #endif
                        /* Rule 8: Use longest matching prefix */
-                       if (hiscore.rule < 8)
+                       if (hiscore.rule < 8) {
                                hiscore.matchlen = ipv6_addr_diff(&ifa_result->addr, daddr);
-                       score.rule++;
+                               hiscore.rule++;
+                       }
                        score.matchlen = ipv6_addr_diff(&ifa->addr, daddr);
                        if (score.matchlen > hiscore.matchlen) {
                                score.rule = 8;