From e620487b6621ecdcd7c4fb24100f72b8d492c680 Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sat, 9 Apr 2022 22:51:14 +0300 Subject: [PATCH] Kernel: Remove big lock from sys$connect This syscall doesn't access any unprotected shared data. --- Kernel/API/Syscall.h | 2 +- Kernel/Syscalls/socket.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index 45cc3ed771..e8b7017091 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -55,7 +55,7 @@ enum class NeedsBigProcessLock { S(clock_nanosleep, NeedsBigProcessLock::No) \ S(clock_settime, NeedsBigProcessLock::No) \ S(close, NeedsBigProcessLock::No) \ - S(connect, NeedsBigProcessLock::Yes) \ + S(connect, NeedsBigProcessLock::No) \ S(create_inode_watcher, NeedsBigProcessLock::Yes) \ S(create_thread, NeedsBigProcessLock::Yes) \ S(dbgputstr, NeedsBigProcessLock::No) \ diff --git a/Kernel/Syscalls/socket.cpp b/Kernel/Syscalls/socket.cpp index e73fd9d594..e15dccaf91 100644 --- a/Kernel/Syscalls/socket.cpp +++ b/Kernel/Syscalls/socket.cpp @@ -145,7 +145,7 @@ ErrorOr Process::sys$accept4(Userspace Process::sys$connect(int sockfd, Userspace user_address, socklen_t user_address_size) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this) + VERIFY_NO_PROCESS_BIG_LOCK(this) auto description = TRY(open_file_description(sockfd)); if (!description->is_socket())