mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 08:57:34 +00:00
Kernel: Mark sys$ftruncate() as not needing the big lock
This syscall doesn't access any data that was implicitly protected by the big lock.
This commit is contained in:
parent
69a6a4d927
commit
8aad9e7448
2 changed files with 2 additions and 2 deletions
|
@ -75,7 +75,7 @@ enum class NeedsBigProcessLock {
|
||||||
S(fstat, NeedsBigProcessLock::No) \
|
S(fstat, NeedsBigProcessLock::No) \
|
||||||
S(fstatvfs, NeedsBigProcessLock::No) \
|
S(fstatvfs, NeedsBigProcessLock::No) \
|
||||||
S(fsync, NeedsBigProcessLock::No) \
|
S(fsync, NeedsBigProcessLock::No) \
|
||||||
S(ftruncate, NeedsBigProcessLock::Yes) \
|
S(ftruncate, NeedsBigProcessLock::No) \
|
||||||
S(futex, NeedsBigProcessLock::Yes) \
|
S(futex, NeedsBigProcessLock::Yes) \
|
||||||
S(get_dir_entries, NeedsBigProcessLock::Yes) \
|
S(get_dir_entries, NeedsBigProcessLock::Yes) \
|
||||||
S(get_process_name, NeedsBigProcessLock::Yes) \
|
S(get_process_name, NeedsBigProcessLock::Yes) \
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace Kernel {
|
||||||
// hence it can't be passed by register on 32bit platforms.
|
// hence it can't be passed by register on 32bit platforms.
|
||||||
ErrorOr<FlatPtr> Process::sys$ftruncate(int fd, Userspace<off_t const*> userspace_length)
|
ErrorOr<FlatPtr> Process::sys$ftruncate(int fd, Userspace<off_t const*> userspace_length)
|
||||||
{
|
{
|
||||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this)
|
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||||
TRY(require_promise(Pledge::stdio));
|
TRY(require_promise(Pledge::stdio));
|
||||||
auto length = TRY(copy_typed_from_user(userspace_length));
|
auto length = TRY(copy_typed_from_user(userspace_length));
|
||||||
if (length < 0)
|
if (length < 0)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue