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@arndb.de
Acked-by: Phil Sutter phil@nwl.cc