static int fl6_renew(struct ip6_flowlabel *fl, unsigned long linger, unsigned long expires) { linger = check_linger(linger); if (!linger) return -EPERM; expires = check_linger(expires); if (!expires) return -EPERM; fl->lastuse = jiffies; if (time_before(fl->linger, linger)) fl->linger = linger; if (time_before(expires, fl->linger)) expires = fl->linger; if (time_before(fl->expires, fl->lastuse + expires)) fl->expires = fl->lastuse + expires; return 0; }
static int fl6_renew(struct ip6_flowlabel *fl, unsigned linger, unsigned expires) { linger = check_linger(linger); if (!linger) return -EPERM; expires = check_linger(expires); if (!expires) return -EPERM; fl->lastuse = jiffies; if (fl->linger < linger) fl->linger = linger; if (expires < fl->linger) expires = fl->linger; if ((long)(fl->expires - (fl->lastuse+expires)) < 0) fl->expires = fl->lastuse + expires; return 0; }