diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index e996483b92..c4ce0cb7ca 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -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) \ diff --git a/Kernel/Syscalls/mkdir.cpp b/Kernel/Syscalls/mkdir.cpp index aa61a4cf58..dca3fa39e1 100644 --- a/Kernel/Syscalls/mkdir.cpp +++ b/Kernel/Syscalls/mkdir.cpp @@ -12,7 +12,7 @@ namespace Kernel { ErrorOr Process::sys$mkdir(Userspace 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()));