Re: [PATCH 1/2] [net-next] packet: clarify timestamp overflow
From: Willem de Bruijn
Date: Mon Nov 27 2017 - 15:26:15 EST
On Mon, Nov 27, 2017 at 11:17 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> The memory mapped packet socket data structure in version 1 through 3
> all contain 32-bit second values for the packet time stamps, which makes
> them suffer from the overflow of time_t in y2038 or y2106 (depending
> on whether user space interprets the value as signed or unsigned).
>
> The implementation uses the deprecated getnstimeofday() function.
>
> In order to get rid of that, this changes the code to use
> ktime_get_real_ts64() as a replacement, documenting the nature of the
> overflow. As long as the user applications treat the timestamps as
> unsigned, or only use the difference between timestamps, they are
> fine, and changing the timestamps to 64-bit wouldn't require a more
> invasive user space API change.
>
> Note: a lot of other APIs suffer from incompatible structures when
> time_t gets redefined to 64-bit in 32-bit user space, but this one
> does not.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
This change to avoid the deprecated internal interface looks great to me.
Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx>