Kernel: Mark sys$umount as not needing the big lock

All accesses to the mount table are already serialized by the actual
spinlock of that table.
This commit is contained in:
Liav A 2023-05-26 13:58:31 +03:00 committed by Andreas Kling
parent 902dac7f5f
commit 0be79f9bc2
Notes: sideshowbarker 2024-07-17 06:35:23 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -193,7 +193,7 @@ enum class NeedsBigProcessLock {
S(sysconf, NeedsBigProcessLock::No) \
S(times, NeedsBigProcessLock::No) \
S(umask, NeedsBigProcessLock::No) \
S(umount, NeedsBigProcessLock::Yes) \
S(umount, NeedsBigProcessLock::No) \
S(uname, NeedsBigProcessLock::No) \
S(unlink, NeedsBigProcessLock::No) \
S(unveil, NeedsBigProcessLock::No) \

View file

@ -161,7 +161,7 @@ ErrorOr<FlatPtr> Process::sys$bindmount(Userspace<Syscall::SC_bindmount_params c
ErrorOr<FlatPtr> Process::sys$umount(Userspace<char const*> user_mountpoint, size_t mountpoint_length)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
auto credentials = this->credentials();
if (!credentials->is_superuser())
return EPERM;