From 519214697b5fca04d463d8c223624589c1bd1e9b Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sat, 16 Dec 2023 13:35:33 +0200 Subject: [PATCH] Kernel: Mark sys$getsockname as not needing the big process lock This syscall does not access any big process lock protected resources. --- 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 5793336ada..4e4bdc03b1 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -107,7 +107,7 @@ enum class NeedsBigProcessLock { S(getresuid, NeedsBigProcessLock::No) \ S(getrusage, NeedsBigProcessLock::No) \ S(getsid, NeedsBigProcessLock::No) \ - S(getsockname, NeedsBigProcessLock::Yes) \ + S(getsockname, NeedsBigProcessLock::No) \ S(getsockopt, NeedsBigProcessLock::No) \ S(gettid, NeedsBigProcessLock::No) \ S(getuid, NeedsBigProcessLock::No) \ diff --git a/Kernel/Syscalls/socket.cpp b/Kernel/Syscalls/socket.cpp index 27933ce42d..389f212cfb 100644 --- a/Kernel/Syscalls/socket.cpp +++ b/Kernel/Syscalls/socket.cpp @@ -359,7 +359,7 @@ ErrorOr Process::get_sock_or_peer_name(Params const& params) ErrorOr Process::sys$getsockname(Userspace user_params) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); auto params = TRY(copy_typed_from_user(user_params)); TRY(get_sock_or_peer_name(params)); return 0;