mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:27:35 +00:00
Kernel: Move process extra_gids into protected data :^)
This commit is contained in:
parent
cbcf891040
commit
d677a73b0e
5 changed files with 11 additions and 11 deletions
|
@ -148,7 +148,7 @@ KResultOr<int> Process::sys$setgroups(ssize_t count, Userspace<const gid_t*> use
|
|||
return EPERM;
|
||||
|
||||
if (!count) {
|
||||
m_extra_gids.clear();
|
||||
MutableProtectedData(*this)->extra_gids.clear();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -163,12 +163,13 @@ KResultOr<int> Process::sys$setgroups(ssize_t count, Userspace<const gid_t*> use
|
|||
unique_extra_gids.set(extra_gid);
|
||||
}
|
||||
|
||||
m_extra_gids.resize(unique_extra_gids.size());
|
||||
MutableProtectedData protected_data { *this };
|
||||
protected_data->extra_gids.resize(unique_extra_gids.size());
|
||||
size_t i = 0;
|
||||
for (auto& extra_gid : unique_extra_gids) {
|
||||
if (extra_gid == gid())
|
||||
continue;
|
||||
m_extra_gids[i++] = extra_gid;
|
||||
protected_data->extra_gids[i++] = extra_gid;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue