]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/ipv6/addrconf.c
ipv6: Clamp reported valid_lft to a minimum of 0
[mv-sheeva.git] / net / ipv6 / addrconf.c
index c20a7c260a8f1e18528cebf31695983a78038bc8..51a273fe3d2190089cb923d15143da702a1fc598 100644 (file)
@@ -3495,8 +3495,12 @@ static int inet6_fill_ifaddr(struct sk_buff *skb, struct inet6_ifaddr *ifa,
                                preferred -= tval;
                        else
                                preferred = 0;
-                       if (valid != INFINITY_LIFE_TIME)
-                               valid -= tval;
+                       if (valid != INFINITY_LIFE_TIME) {
+                               if (valid > tval)
+                                       valid -= tval;
+                               else
+                                       valid = 0;
+                       }
                }
        } else {
                preferred = INFINITY_LIFE_TIME;