• Deepa Dinamani's avatar
    io_pgetevents: use __kernel_timespec · 7a35397f
    Deepa Dinamani authored
    struct timespec is not y2038 safe.
    struct __kernel_timespec is the new y2038 safe structure for all
    syscalls that are using struct timespec.
    Update io_pgetevents interfaces to use struct __kernel_timespec.
    
    sigset_t also has different representations on 32 bit and 64 bit
    architectures. Hence, we need to support the following different
    syscalls:
    
    New y2038 safe syscalls:
    (Controlled by CONFIG_64BIT_TIME for 32 bit ABIs)
    
    Native 64 bit(unchanged) and native 32 bit : sys_io_pgetevents
    Compat : compat_sys_io_pgetevents_time64
    
    Older y2038 unsafe syscalls:
    (Controlled by CONFIG_32BIT_COMPAT_TIME for 32 bit ABIs)
    
    Native 32 bit : sys_io_pgetevents_time32
    Compat : compat_sys_io_pgetevents
    
    Note that io_getevents syscalls do not have a y2038 safe solution.
    Signed-off-by: default avatarDeepa Dinamani <deepa.kernel@gmail.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    7a35397f
aio.c 55.6 KB