From 815b73bdccae648f776ba98187f860fbdc1aa729 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 14 Apr 2020 12:51:02 +0200 Subject: [PATCH] Kernel: Simplify sys$setgroups(0, ...) If we're dropping all groups, just clear the extra_gids and return. --- Kernel/Process.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index c59029b902..0470e5f3fc 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -2727,6 +2727,11 @@ int Process::sys$setgroups(ssize_t count, const gid_t* user_gids) if (count && !validate_read(user_gids, count)) return -EFAULT; + if (!count) { + m_extra_gids.clear(); + return 0; + } + Vector gids; gids.resize(count); copy_from_user(gids.data(), user_gids, sizeof(gid_t) * count);