mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 08:57:34 +00:00
Kernel: Make sys$utime() and sys$utimensat() not take the big lock
This commit is contained in:
parent
280694bb46
commit
930dedfbd8
3 changed files with 4 additions and 4 deletions
|
@ -187,8 +187,8 @@ enum class NeedsBigProcessLock {
|
||||||
S(uname, NeedsBigProcessLock::No) \
|
S(uname, NeedsBigProcessLock::No) \
|
||||||
S(unlink, NeedsBigProcessLock::No) \
|
S(unlink, NeedsBigProcessLock::No) \
|
||||||
S(unveil, NeedsBigProcessLock::No) \
|
S(unveil, NeedsBigProcessLock::No) \
|
||||||
S(utime, NeedsBigProcessLock::Yes) \
|
S(utime, NeedsBigProcessLock::No) \
|
||||||
S(utimensat, NeedsBigProcessLock::Yes) \
|
S(utimensat, NeedsBigProcessLock::No) \
|
||||||
S(waitid, NeedsBigProcessLock::Yes) \
|
S(waitid, NeedsBigProcessLock::Yes) \
|
||||||
S(write, NeedsBigProcessLock::Yes) \
|
S(write, NeedsBigProcessLock::Yes) \
|
||||||
S(writev, NeedsBigProcessLock::Yes) \
|
S(writev, NeedsBigProcessLock::Yes) \
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace Kernel {
|
||||||
|
|
||||||
ErrorOr<FlatPtr> Process::sys$utime(Userspace<char const*> user_path, size_t path_length, Userspace<const struct utimbuf*> user_buf)
|
ErrorOr<FlatPtr> Process::sys$utime(Userspace<char const*> user_path, size_t path_length, Userspace<const struct utimbuf*> user_buf)
|
||||||
{
|
{
|
||||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
|
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||||
TRY(require_promise(Pledge::fattr));
|
TRY(require_promise(Pledge::fattr));
|
||||||
auto path = TRY(get_syscall_path_argument(user_path, path_length));
|
auto path = TRY(get_syscall_path_argument(user_path, path_length));
|
||||||
utimbuf buf;
|
utimbuf buf;
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace Kernel {
|
||||||
|
|
||||||
ErrorOr<FlatPtr> Process::sys$utimensat(Userspace<Syscall::SC_utimensat_params const*> user_params)
|
ErrorOr<FlatPtr> Process::sys$utimensat(Userspace<Syscall::SC_utimensat_params const*> user_params)
|
||||||
{
|
{
|
||||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
|
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||||
TRY(require_promise(Pledge::fattr));
|
TRY(require_promise(Pledge::fattr));
|
||||||
|
|
||||||
auto params = TRY(copy_typed_from_user(user_params));
|
auto params = TRY(copy_typed_from_user(user_params));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue