Re: [PATCH 09/16] netfilter: nft_meta: use 64-bit time arithmetic

From: Phil Sutter
Date: Sat Nov 09 2019 - 06:20:23 EST


On Fri, Nov 08, 2019 at 10:32:47PM +0100, Arnd Bergmann wrote:
> On 32-bit architectures, get_seconds() returns an unsigned 32-bit
> time value, which also matches the type used in the nft_meta
> code. This will not overflow in year 2038 as a time_t would, but
> it still suffers from the overflow problem later on in year 2106.

I wonder if the assumption that people will still use nft_meta 80 years
from now is an optimistic or pessimistic one. :)

> Change this instance to use the time64_t type consistently
> and avoid the deprecated get_seconds().
>
> The nft_meta_weekday() calculation potentially gets a little slower
> on 32-bit architectures, but now it has the same behavior as on
> 64-bit architectures and does not overflow.
>
> Fixes: 63d10e12b00d ("netfilter: nft_meta: support for time matching")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Acked-by: Phil Sutter <phil@xxxxxx>