From 8d4d1c74579b52b32b9484a7a7ce4d6b0d9dab94 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 1 Aug 2020 11:37:40 +0200 Subject: Kernel: Use Userspace in more syscalls --- Kernel/Syscalls/process.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'Kernel/Syscalls/process.cpp') diff --git a/Kernel/Syscalls/process.cpp b/Kernel/Syscalls/process.cpp index e622a42837..c081756785 100644 --- a/Kernel/Syscalls/process.cpp +++ b/Kernel/Syscalls/process.cpp @@ -55,23 +55,20 @@ int Process::sys$set_process_icon(int icon_id) return 0; } -int Process::sys$get_process_name(char* buffer, int buffer_size) +int Process::sys$get_process_name(Userspace buffer, size_t buffer_size) { REQUIRE_PROMISE(stdio); - if (buffer_size <= 0) - return -EINVAL; - if (!validate_write(buffer, buffer_size)) return -EFAULT; - if (m_name.length() + 1 > (size_t)buffer_size) + if (m_name.length() + 1 > buffer_size) return -ENAMETOOLONG; copy_to_user(buffer, m_name.characters(), m_name.length() + 1); return 0; } -int Process::sys$set_process_name(const char* user_name, size_t user_name_length) +int Process::sys$set_process_name(Userspace user_name, size_t user_name_length) { REQUIRE_PROMISE(proc); if (user_name_length > 256) -- cgit v1.2.3