Kernel: Remove big lock from sys$mkdir

This syscall doesn't access any unprotected shared data.
This commit is contained in:
Idan Horowitz 2022-04-09 23:09:59 +03:00 committed by Andreas Kling
parent 165a23b68c
commit e84bbfed44
2 changed files with 2 additions and 2 deletions

View file

@ -114,7 +114,7 @@ enum class NeedsBigProcessLock {
S(lseek, NeedsBigProcessLock::No) \
S(madvise, NeedsBigProcessLock::Yes) \
S(map_time_page, NeedsBigProcessLock::Yes) \
S(mkdir, NeedsBigProcessLock::Yes) \
S(mkdir, NeedsBigProcessLock::No) \
S(mknod, NeedsBigProcessLock::Yes) \
S(mmap, NeedsBigProcessLock::Yes) \
S(mount, NeedsBigProcessLock::Yes) \

View file

@ -12,7 +12,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$mkdir(Userspace<char const*> user_path, size_t path_length, mode_t mode)
{
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().mkdir(path->view(), mode & ~umask(), current_directory()));