]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
xfrm: use time64_t for in-kernel timestamps
authorArnd Bergmann <arnd@arndb.de>
Wed, 11 Jul 2018 10:19:13 +0000 (12:19 +0200)
committerSteffen Klassert <steffen.klassert@secunet.com>
Wed, 11 Jul 2018 13:25:30 +0000 (15:25 +0200)
commit386c5680e2e80b012de557cf8326962070e0897b
tree3daeb6c7a2943f19b531a89e23ae917990d6f4ac
parent6d8e85ffe17895d7bc632dfbaa9e2e33b22fe873
xfrm: use time64_t for in-kernel timestamps

The lifetime managment uses '__u64' timestamps on the user space
interface, but 'unsigned long' for reading the current time in the kernel
with get_seconds().

While this is probably safe beyond y2038, it will still overflow in 2106,
and the get_seconds() call is deprecated because fo that.

This changes the xfrm time handling to use time64_t consistently, along
with reading the time using the safer ktime_get_real_seconds(). It still
suffers from problems that can happen from a concurrent settimeofday()
call or (to a lesser degree) a leap second update, but since the time
stamps are part of the user API, there is nothing we can do to prevent
that.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_policy.c
net/xfrm/xfrm_state.c