diff options
author | Arnd Bergmann <arnd@arndb.de> | 2018-04-13 13:58:23 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2018-04-20 16:20:27 +0200 |
commit | b0d175781ab275576429fe379ba8e98e1c60f362 (patch) | |
tree | 020364fd1357d4217927141098c57c908dcabe7c /ipc/sem.c | |
parent | y2038: ipc: Use __kernel_timespec (diff) | |
download | linux-b0d175781ab275576429fe379ba8e98e1c60f362.tar.xz linux-b0d175781ab275576429fe379ba8e98e1c60f362.zip |
y2038: ipc: Enable COMPAT_32BIT_TIME
Three ipc syscalls (mq_timedsend, mq_timedreceive and and semtimedop)
take a timespec argument. After we move 32-bit architectures over to
useing 64-bit time_t based syscalls, we need seperate entry points for
the old 32-bit based interfaces.
This changes the #ifdef guards for the existing 32-bit compat syscalls
to check for CONFIG_COMPAT_32BIT_TIME instead, which will then be
enabled on all existing 32-bit architectures.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'ipc/sem.c')
-rw-r--r-- | ipc/sem.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ipc/sem.c b/ipc/sem.c index b951e25ba2db..cfd94d48a9aa 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -70,6 +70,7 @@ * The worst-case behavior is nevertheless O(N^2) for N wakeups. */ +#include <linux/compat.h> #include <linux/slab.h> #include <linux/spinlock.h> #include <linux/init.h> @@ -2193,7 +2194,7 @@ SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops, return ksys_semtimedop(semid, tsops, nsops, timeout); } -#ifdef CONFIG_COMPAT +#ifdef CONFIG_COMPAT_32BIT_TIME long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems, unsigned int nsops, const struct compat_timespec __user *timeout) |