diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index ffb5f201b8..044b2b827c 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -217,7 +217,7 @@ int Process::sys$set_mmap_name(const Syscall::SC_set_mmap_name_params* user_para return -EFAULT; Syscall::SC_set_mmap_name_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); auto name = validate_and_copy_string_from_user(params.name); if (name.is_null()) @@ -288,7 +288,7 @@ void* Process::sys$mmap(const Syscall::SC_mmap_params* user_params) return (void*)-EFAULT; Syscall::SC_mmap_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); void* addr = (void*)params.addr; size_t size = params.size; @@ -934,7 +934,7 @@ int Process::sys$execve(const Syscall::SC_execve_params* user_params) Syscall::SC_execve_params params; if (!validate_read_typed(user_params)) return -EFAULT; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); if (params.arguments.length > ARG_MAX || params.environment.length > ARG_MAX) return -E2BIG; @@ -1493,7 +1493,7 @@ int Process::sys$utime(const char* user_path, size_t path_length, const utimbuf* return path.error(); utimbuf buf; if (user_buf) { - copy_from_user(&buf, user_buf, sizeof(buf)); + copy_from_user(&buf, user_buf); } else { auto now = kgettimeofday(); buf = { now.tv_sec, now.tv_sec }; @@ -1631,7 +1631,7 @@ int Process::sys$readlink(const Syscall::SC_readlink_params* user_params) if (!validate_read_typed(user_params)) return -EFAULT; Syscall::SC_readlink_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); if (!validate(params.buffer)) return -EFAULT; @@ -1719,7 +1719,7 @@ int Process::sys$open(const Syscall::SC_open_params* user_params) return -EFAULT; Syscall::SC_open_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); auto options = params.options; auto mode = params.mode; @@ -1761,7 +1761,7 @@ int Process::sys$openat(const Syscall::SC_openat_params* user_params) return -EFAULT; Syscall::SC_openat_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); int dirfd = params.dirfd; int options = params.options; u16 mode = params.mode; @@ -2357,7 +2357,7 @@ int Process::sys$sigprocmask(int how, const sigset_t* set, sigset_t* old_set) if (!validate_read_typed(set)) return -EFAULT; sigset_t set_value; - copy_from_user(&set_value, set, sizeof(set_value)); + copy_from_user(&set_value, set); switch (how) { case SIG_BLOCK: current->m_signal_mask &= ~set_value; @@ -2399,7 +2399,7 @@ int Process::sys$sigaction(int signum, const sigaction* act, sigaction* old_act) copy_to_user(&old_act->sa_flags, &action.flags, sizeof(action.flags)); copy_to_user(&old_act->sa_sigaction, &action.handler_or_sigaction, sizeof(action.handler_or_sigaction)); } - copy_from_user(&action.flags, &act->sa_flags, sizeof(action.flags)); + copy_from_user(&action.flags, &act->sa_flags); copy_from_user(&action.handler_or_sigaction, &act->sa_sigaction, sizeof(action.flags)); return 0; } @@ -2457,7 +2457,7 @@ int Process::sys$realpath(const Syscall::SC_realpath_params* user_params) return -EFAULT; Syscall::SC_realpath_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); if (!validate_write(params.buffer.data, params.buffer.size)) return -EFAULT; @@ -2660,7 +2660,7 @@ int Process::sys$link(const Syscall::SC_link_params* user_params) if (!validate_read_typed(user_params)) return -EFAULT; Syscall::SC_link_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); auto old_path = validate_and_copy_string_from_user(params.old_path); auto new_path = validate_and_copy_string_from_user(params.new_path); if (old_path.is_null() || new_path.is_null()) @@ -2753,7 +2753,7 @@ int Process::sys$chown(const Syscall::SC_chown_params* user_params) if (!validate_read_typed(user_params)) return -EFAULT; Syscall::SC_chown_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); auto path = get_syscall_path_argument(params.path); if (path.is_error()) return path.error(); @@ -4253,7 +4253,7 @@ int Process::sys$futex(const Syscall::SC_futex_params* user_params) return -EFAULT; Syscall::SC_futex_params params; - copy_from_user(¶ms, user_params, sizeof(params)); + copy_from_user(¶ms, user_params); i32* userspace_address = params.userspace_address; int futex_op = params.futex_op; @@ -4268,13 +4268,13 @@ int Process::sys$futex(const Syscall::SC_futex_params* user_params) timespec timeout { 0, 0 }; if (user_timeout) - copy_from_user(&timeout, user_timeout, sizeof(timeout)); + copy_from_user(&timeout, user_timeout); i32 user_value; switch (futex_op) { case FUTEX_WAIT: - copy_from_user(&user_value, userspace_address, sizeof(user_value)); + copy_from_user(&user_value, userspace_address); if (user_value != value) return -EAGAIN; // FIXME: This is supposed to be interruptible by a signal, but right now WaitQueue cannot be interrupted.