Kernel: Mark sys$sendfd() and sys$recvfd() as not needing the big lock

These syscalls already perform the necessary locking and don't rely on
the process big lock.
This commit is contained in:
Andreas Kling 2022-04-03 22:06:03 +02:00
parent 92dfcdb6b1
commit bc4282c773
2 changed files with 4 additions and 4 deletions

View file

@ -140,13 +140,13 @@ enum class NeedsBigProcessLock {
S(readlink, NeedsBigProcessLock::No) \
S(readv, NeedsBigProcessLock::Yes) \
S(realpath, NeedsBigProcessLock::No) \
S(recvfd, NeedsBigProcessLock::Yes) \
S(recvfd, NeedsBigProcessLock::No) \
S(recvmsg, NeedsBigProcessLock::Yes) \
S(rename, NeedsBigProcessLock::Yes) \
S(rmdir, NeedsBigProcessLock::Yes) \
S(sched_getparam, NeedsBigProcessLock::Yes) \
S(sched_setparam, NeedsBigProcessLock::Yes) \
S(sendfd, NeedsBigProcessLock::Yes) \
S(sendfd, NeedsBigProcessLock::No) \
S(sendmsg, NeedsBigProcessLock::Yes) \
S(set_coredump_metadata, NeedsBigProcessLock::Yes) \
S(set_mmap_name, NeedsBigProcessLock::Yes) \

View file

@ -12,7 +12,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$sendfd(int sockfd, int fd)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this)
VERIFY_NO_PROCESS_BIG_LOCK(this)
TRY(require_promise(Pledge::sendfd));
auto socket_description = TRY(open_file_description(sockfd));
if (!socket_description->is_socket())
@ -31,7 +31,7 @@ ErrorOr<FlatPtr> Process::sys$sendfd(int sockfd, int fd)
ErrorOr<FlatPtr> Process::sys$recvfd(int sockfd, int options)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this)
VERIFY_NO_PROCESS_BIG_LOCK(this)
TRY(require_promise(Pledge::recvfd));
auto socket_description = TRY(open_file_description(sockfd));
if (!socket_description->is_socket())