Kernel: Remove big lock from sys$rmdir

This syscall doesn't access any unprotected shared data.
This commit is contained in:
Idan Horowitz 2022-04-09 23:08:20 +03:00 committed by Andreas Kling
parent d4ce43cf45
commit 5c064d3e8e
Notes: sideshowbarker 2024-07-17 14:13:12 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -143,7 +143,7 @@ enum class NeedsBigProcessLock {
S(recvfd, NeedsBigProcessLock::No) \
S(recvmsg, NeedsBigProcessLock::Yes) \
S(rename, NeedsBigProcessLock::Yes) \
S(rmdir, NeedsBigProcessLock::Yes) \
S(rmdir, NeedsBigProcessLock::No) \
S(sched_getparam, NeedsBigProcessLock::No) \
S(sched_setparam, NeedsBigProcessLock::No) \
S(sendfd, NeedsBigProcessLock::No) \

View file

@ -12,7 +12,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$rmdir(Userspace<char const*> user_path, size_t path_length)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this)
VERIFY_NO_PROCESS_BIG_LOCK(this)
TRY(require_promise(Pledge::cpath));
auto path = TRY(get_syscall_path_argument(user_path, path_length));
TRY(VirtualFileSystem::the().rmdir(path->view(), current_directory()));