1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:07:35 +00:00

Kernel: Use copy_typed_from_user<T> for fetching syscall parameters

This commit is contained in:
Andreas Kling 2021-09-05 17:51:37 +02:00
parent d7e5768763
commit 789db813d3
24 changed files with 42 additions and 81 deletions

View file

@ -19,8 +19,7 @@ KResultOr<FlatPtr> Process::sys$setkeymap(Userspace<const Syscall::SC_setkeymap_
if (!is_superuser())
return EPERM;
Syscall::SC_setkeymap_params params;
TRY(copy_from_user(&params, user_params));
auto params = TRY(copy_typed_from_user(user_params));
Keyboard::CharacterMapData character_map_data;
@ -44,9 +43,7 @@ KResultOr<FlatPtr> Process::sys$getkeymap(Userspace<const Syscall::SC_getkeymap_
{
VERIFY_NO_PROCESS_BIG_LOCK(this);
REQUIRE_PROMISE(getkeymap);
Syscall::SC_getkeymap_params params {};
TRY(copy_from_user(&params, user_params));
auto params = TRY(copy_typed_from_user(user_params));
String keymap_name = HIDManagement::the().keymap_name();
const Keyboard::CharacterMapData& character_maps = HIDManagement::the().character_maps();