Using the do_getpgid() helper removes an in-kernel call to the
sys_getpgid() syscall.

Cc: Al Viro <v...@zeniv.linux.org.uk>
Signed-off-by: Dominik Brodowski <li...@dominikbrodowski.net>
---
 kernel/sys.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/kernel/sys.c b/kernel/sys.c
index f2289de20e19..ebb138b841c8 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -1027,7 +1027,7 @@ SYSCALL_DEFINE2(setpgid, pid_t, pid, pid_t, pgid)
        return err;
 }
 
-SYSCALL_DEFINE1(getpgid, pid_t, pid)
+static int do_getpgid(pid_t pid)
 {
        struct task_struct *p;
        struct pid *grp;
@@ -1055,11 +1055,16 @@ SYSCALL_DEFINE1(getpgid, pid_t, pid)
        return retval;
 }
 
+SYSCALL_DEFINE1(getpgid, pid_t, pid)
+{
+       return do_getpgid(pid);
+}
+
 #ifdef __ARCH_WANT_SYS_GETPGRP
 
 SYSCALL_DEFINE0(getpgrp)
 {
-       return sys_getpgid(0);
+       return do_getpgid(0);
 }
 
 #endif
-- 
2.16.2

Reply via email to