Kernel: Mark sys$ioctl as not needing the big process lock

This syscall does not access any big process lock protected resources.
This commit is contained in:
Idan Horowitz 2023-12-16 13:30:31 +02:00 committed by Andreas Kling
parent d63667dbf1
commit 24a60c5a10
Notes: sideshowbarker 2024-07-16 20:39:14 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -113,7 +113,7 @@ enum class NeedsBigProcessLock {
S(getuid, NeedsBigProcessLock::No) \
S(inode_watcher_add_watch, NeedsBigProcessLock::No) \
S(inode_watcher_remove_watch, NeedsBigProcessLock::No) \
S(ioctl, NeedsBigProcessLock::Yes) \
S(ioctl, NeedsBigProcessLock::No) \
S(join_thread, NeedsBigProcessLock::No) \
S(jail_create, NeedsBigProcessLock::No) \
S(jail_attach, NeedsBigProcessLock::No) \

View file

@ -13,7 +13,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$ioctl(int fd, unsigned request, FlatPtr arg)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
auto description = TRY(open_file_description(fd));
if (request == FIONBIO) {
description->set_blocking(TRY(copy_typed_from_user(Userspace<int const*>(arg))) == 0);