• Arnd Bergmann's avatar
    y2038: rusage: use __kernel_old_timeval · bdd565f8
    Arnd Bergmann authored
    There are two 'struct timeval' fields in 'struct rusage'.
    
    Unfortunately the definition of timeval is now ambiguous when used in
    user space with a libc that has a 64-bit time_t, and this also changes
    the 'rusage' definition in user space in a way that is incompatible with
    the system call interface.
    
    While there is no good solution to avoid all ambiguity here, change
    the definition in the kernel headers to be compatible with the kernel
    ABI, using __kernel_old_timeval as an unambiguous base type.
    
    In previous discussions, there was also a plan to add a replacement
    for rusage based on 64-bit timestamps and nanosecond resolution,
    i.e. 'struct __kernel_timespec'. I have patches for that as well,
    if anyone thinks we should do that.
    Reviewed-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    bdd565f8
sys.c 62 KB