• A
    xfrm: use time64_t for in-kernel timestamps · 386c5680
    Arnd Bergmann 提交于
    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: NArnd Bergmann <arnd@arndb.de>
    Signed-off-by: NSteffen Klassert <steffen.klassert@secunet.com>
    386c5680
xfrm_state.c 60.6 KB