path: root/ipc/util.h
diff options
authorDominik Brodowski <>2018-03-20 20:00:39 +0100
committerDominik Brodowski <>2018-04-02 20:15:22 +0200
commitd969c6fa7263c8fc1928f528bb68587872350b6c (patch)
treeea96ad301cb9b73b87838e925411bb7e4d111ce4 /ipc/util.h
parent69894718a515fef7ff633cf354fcd7ed73a88891 (diff)
ipc: add semctl syscall/compat_syscall wrappers
Provide ksys_semctl() and compat_ksys_semctl() wrappers to avoid in-kernel calls to these syscalls. The ksys_ prefix denotes that these functions are meant as a drop-in replacement for the syscalls. In particular, they use the same calling convention as sys_semctl() and compat_sys_semctl(). This patch is part of a series which removes in-kernel calls to syscalls. On this basis, the syscall entry path can be streamlined. For details, see Cc: Al Viro <> Cc: Andrew Morton <> Signed-off-by: Dominik Brodowski <>
Diffstat (limited to 'ipc/util.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/ipc/util.h b/ipc/util.h
index 0f07056e5a73..1f1109b83437 100644
--- a/ipc/util.h
+++ b/ipc/util.h
@@ -241,12 +241,14 @@ long ksys_semtimedop(int semid, struct sembuf __user *tsops,
unsigned int nsops,
const struct timespec __user *timeout);
long ksys_semget(key_t key, int nsems, int semflg);
+long ksys_semctl(int semid, int semnum, int cmd, unsigned long arg);
long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems,
unsigned int nsops,
const struct compat_timespec __user *timeout);
+long compat_ksys_semctl(int semid, int semnum, int cmd, int arg);
#endif /* CONFIG_COMPAT */