• Arnd Bergmann's avatar
    nfs: use time64_t internally · f559935e
    Arnd Bergmann authored
    The timestamps for the cache are all in boottime seconds, so they
    don't overflow 32-bit values, but the use of time_t is deprecated
    because it generally does overflow when used with wall-clock time.
    
    There are multiple possible ways of avoiding it:
    
    - leave time_t, which is safe here, but forces others to
      look into this code to determine that it is over and over.
    
    - use a more generic type, like 'int' or 'long', which is known
      to be sufficient here but loses the documentation of referring
      to timestamps
    
    - use ktime_t everywhere, and convert into seconds in the few
      places where we want realtime-seconds. The conversion is
      sometimes expensive, but not more so than the conversion we
      do today.
    
    - use time64_t to clarify that this code is safe. Nothing would
      change for 64-bit architectures, but it is slightly less
      efficient on 32-bit architectures.
    
    Without a clear winner of the three approaches above, this picks
    the last one, favouring readability over a small performance
    loss on 32-bit architectures.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    f559935e
svcauth_unix.c 21.5 KB