From 1c0e2947d73181fccb5e85ade22edb30c167bd60 Mon Sep 17 00:00:00 2001 From: Brian Gianforcaro Date: Sun, 21 Feb 2021 08:02:04 -0800 Subject: [PATCH] Kernel: Use copy_n_from_user in sys$setkeymap --- Kernel/Syscalls/keymap.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Kernel/Syscalls/keymap.cpp b/Kernel/Syscalls/keymap.cpp index 53b5279baf..4fb0623e38 100644 --- a/Kernel/Syscalls/keymap.cpp +++ b/Kernel/Syscalls/keymap.cpp @@ -44,15 +44,15 @@ int Process::sys$setkeymap(Userspace user_p Keyboard::CharacterMapData character_map_data; - if (!copy_from_user(character_map_data.map, params.map, CHAR_MAP_SIZE * sizeof(u32))) + if (!copy_n_from_user(character_map_data.map, params.map, CHAR_MAP_SIZE)) return -EFAULT; - if (!copy_from_user(character_map_data.shift_map, params.shift_map, CHAR_MAP_SIZE * sizeof(u32))) + if (!copy_n_from_user(character_map_data.shift_map, params.shift_map, CHAR_MAP_SIZE)) return -EFAULT; - if (!copy_from_user(character_map_data.alt_map, params.alt_map, CHAR_MAP_SIZE * sizeof(u32))) + if (!copy_n_from_user(character_map_data.alt_map, params.alt_map, CHAR_MAP_SIZE)) return -EFAULT; - if (!copy_from_user(character_map_data.altgr_map, params.altgr_map, CHAR_MAP_SIZE * sizeof(u32))) + if (!copy_n_from_user(character_map_data.altgr_map, params.altgr_map, CHAR_MAP_SIZE)) return -EFAULT; - if (!copy_from_user(character_map_data.shift_altgr_map, params.shift_altgr_map, CHAR_MAP_SIZE * sizeof(u32))) + if (!copy_n_from_user(character_map_data.shift_altgr_map, params.shift_altgr_map, CHAR_MAP_SIZE)) return -EFAULT; auto map_name = get_syscall_path_argument(params.map_name);