• Arnd Bergmann's avatar
    io_uring: use __kernel_timespec in timeout ABI · bdf20073
    Arnd Bergmann authored
    All system calls use struct __kernel_timespec instead of the old struct
    timespec, but this one was just added with the old-style ABI. Change it
    now to enforce the use of __kernel_timespec, avoiding ABI confusion and
    the need for compat handlers on 32-bit architectures.
    
    Any user space caller will have to use __kernel_timespec now, but this
    is unambiguous and works for any C library regardless of the time_t
    definition. A nicer way to specify the timeout would have been a less
    ambiguous 64-bit nanosecond value, but I suppose it's too late now to
    change that as this would impact both 32-bit and 64-bit users.
    
    Fixes: 5262f567 ("io_uring: IORING_OP_TIMEOUT support")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    bdf20073
io_uring.c 93.2 KB