Wanted to add a note here:

> + * Add two timespec64 values and do a safety check for overflow.
> + * It's assumed that both values are valid (>= 0).
> + * And, each timespec64 is in normalized form.
> + */
> +struct timespec64 timespec64_add_safe(const struct timespec64 lhs,
> +                               const struct timespec64 rhs)
> +{
> +       struct timespec64 res;
> +
> +       set_normalized_timespec64(&res, lhs.tv_sec + rhs.tv_sec,
> +                       lhs.tv_nsec + rhs.tv_nsec);
> +
> +       if (unlikely(res.tv_sec < lhs.tv_sec || res.tv_sec < rhs.tv_sec)) {

This check can be reduced to only the first condition if we assume the
timespecs passed in to be normalized.
The current patch maintains the way timespec_add_safe() does it for consistency.

-Deepa

Reply via email to