why not use ktime_get_clocktai_ts64

Jacob Lifshay programmerjake at gmail.com
Sun Jun 19 06:16:46 UTC 2022


On Fri, Jun 17, 2022, 04:56 Jason A. Donenfeld <Jason at zx2c4.com> wrote:
>
> Hi Jacob,
>
> On Wed, Jun 15, 2022 at 06:48:08PM -0700, Jacob Lifshay wrote:
> > I was reading in noise.c and noticed you use ktime_get_real_ts64 and
> > do manual adjustments (the current code is broken if/when there's
> > another leap second) rather than using ktime_get_clocktai_ts64 which
> > already handles compensation for leap seconds.
> >
> > https://git.zx2c4.com/wireguard-linux/tree/drivers/net/wireguard/noise.c?id=7fae4596a269d2f9a6a7d1a8695c3a68ab34f7be#n501
> >
> > Is there a reason for that?
>
> Not really I guess. The only requirement, though, is that the timestamps
> are monotonic with respect to the particular localprivate-remotepublic
> pairing of peers. So I'm not sure it matters?


ok. Apparently linux's TAI clock offset is often not set on linux
systems, so that's a good reason not to use it.

Do note that 10s is the wrong offset, the correct value is 37s iirc.

see also (related issue on tai64 crate -- also uses the wrong offset):
https://github.com/RustCrypto/formats/issues/675

Jacob


More information about the WireGuard mailing list