OSDN Git Service

io_pgetevents: use __kernel_timespec
authorDeepa Dinamani <deepa.kernel@gmail.com>
Thu, 20 Sep 2018 04:41:08 +0000 (21:41 -0700)
committerArnd Bergmann <arnd@arndb.de>
Thu, 6 Dec 2018 16:23:31 +0000 (17:23 +0100)
commit7a35397f8c06bffd4c747537095321ff971045a5
treedb3bb775e13a2045ca1789f84e3f5495681f6fa1
parente024707bccae15abd493265ea0b72f46a4920727
io_pgetevents: use __kernel_timespec

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: Deepa Dinamani <deepa.kernel@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
fs/aio.c
include/linux/compat.h
include/linux/syscalls.h