Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1491078

Re: [PATCH] timekeeping: Change type of nsec variable to unsigned in its calculation.

From John Stultz <john.stultz@linaro.org>
Newsgroups linux.kernel
Subject Re: [PATCH] timekeeping: Change type of nsec variable to unsigned in its calculation.
Date 2016-09-26 08:10 +0200
Message-ID <slxgZ-7C-5@gated-at.bofh.it> (permalink)
References <slxgZ-7C-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sun, Sep 25, 2016 at 10:45 PM, Liav Rehana <liavr@mellanox.com> wrote:
> From: Liav Rehana <liavr@mellanox.com>
>
> During the calculation of the nsec variable in the inline function
> timekeeping_delta_to_ns, it may undergo a sign extension if its msb
> is set just before the shift. The sign extension may, in some cases,
> gain it a value near the maximum value of the 64-bit range. This is
> bad when it is later used in a division function, such as
> __iter_div_u64_rem, where the amount of loops it will go through to
> calculate the division will be too large.
> The following commit fixes that chance of sign extension, while
> maintaining the type of the nsec variable as signed for other
> functions that use this variable, for possible legit negative
> time intervals.

Apologies for my foggy memory here (just got off a plane).  But remind
me, is this something that you actually ran into, or is it more of
just a theoretical concern?

If it is something that you did trip on, please describe your case in
the changelog so that the proper urgency is applied when weighing if
such a commit should go into -stable.

thanks
-john

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Re: [PATCH] timekeeping: Change type of nsec variable to unsigned in  its calculation. John Stultz <john.stultz@linaro.org> - 2016-09-26 08:10 +0200

csiph-web