diff options
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index edae81319b51..efe036aa3dd1 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -2194,8 +2194,12 @@ static int rt6_fill_node(struct sk_buff *skb, struct rt6_info *rt, | |||
2194 | 2194 | ||
2195 | NLA_PUT_U32(skb, RTA_PRIORITY, rt->rt6i_metric); | 2195 | NLA_PUT_U32(skb, RTA_PRIORITY, rt->rt6i_metric); |
2196 | 2196 | ||
2197 | expires = (rt->rt6i_flags & RTF_EXPIRES) ? | 2197 | if (!(rt->rt6i_flags & RTF_EXPIRES)) |
2198 | rt->rt6i_expires - jiffies : 0; | 2198 | expires = 0; |
2199 | else if (rt->rt6i_expires - jiffies < INT_MAX) | ||
2200 | expires = rt->rt6i_expires - jiffies; | ||
2201 | else | ||
2202 | expires = INT_MAX; | ||
2199 | 2203 | ||
2200 | if (rtnl_put_cacheinfo(skb, &rt->u.dst, 0, 0, 0, | 2204 | if (rtnl_put_cacheinfo(skb, &rt->u.dst, 0, 0, 0, |
2201 | expires, rt->u.dst.error) < 0) | 2205 | expires, rt->u.dst.error) < 0) |