Skip to content

Commit 165a23b

Browse files
IdanHoawesomekling
authored andcommitted
Kernel: Remove big lock from sys$rename
This syscall doesn't access any unprotected shared data.
1 parent 5c064d3 commit 165a23b

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

Kernel/API/Syscall.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ enum class NeedsBigProcessLock {
142142
S(realpath, NeedsBigProcessLock::No) \
143143
S(recvfd, NeedsBigProcessLock::No) \
144144
S(recvmsg, NeedsBigProcessLock::Yes) \
145-
S(rename, NeedsBigProcessLock::Yes) \
145+
S(rename, NeedsBigProcessLock::No) \
146146
S(rmdir, NeedsBigProcessLock::No) \
147147
S(sched_getparam, NeedsBigProcessLock::No) \
148148
S(sched_setparam, NeedsBigProcessLock::No) \

Kernel/Syscalls/rename.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Kernel {
1212

1313
ErrorOr<FlatPtr> Process::sys$rename(Userspace<Syscall::SC_rename_params const*> user_params)
1414
{
15-
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this)
15+
VERIFY_NO_PROCESS_BIG_LOCK(this)
1616
TRY(require_promise(Pledge::cpath));
1717
auto params = TRY(copy_typed_from_user(user_params));
1818
auto old_path = TRY(get_syscall_path_argument(params.old_path));

0 commit comments

Comments
 (0)