summaryrefslogtreecommitdiff
path: root/Kernel/Syscalls
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/Syscalls')
-rw-r--r--Kernel/Syscalls/sched.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Kernel/Syscalls/sched.cpp b/Kernel/Syscalls/sched.cpp
index 909aa7ca32..b144f39792 100644
--- a/Kernel/Syscalls/sched.cpp
+++ b/Kernel/Syscalls/sched.cpp
@@ -76,10 +76,10 @@ int Process::sys$sched_setparam(int tid, Userspace<const struct sched_param*> us
return 0;
}
-int Process::sys$sched_getparam(pid_t pid, struct sched_param* param)
+int Process::sys$sched_getparam(pid_t pid, Userspace<struct sched_param*> user_param)
{
REQUIRE_PROMISE(proc);
- if (!validate_write_typed(param))
+ if (!validate_write_typed(user_param))
return -EFAULT;
InterruptDisabler disabler;
@@ -93,8 +93,8 @@ int Process::sys$sched_getparam(pid_t pid, struct sched_param* param)
if (!is_superuser() && m_euid != peer->process().m_uid && m_uid != peer->process().m_uid)
return -EPERM;
- int priority = peer->priority();
- copy_to_user(&param->sched_priority, &priority);
+ struct sched_param param { (int) peer->priority() };
+ copy_to_user(user_param, &param);
return 0;
}