1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 01:57:45 +00:00

Userland: Always call syscall(SC_prctl, ...) with 4 arguments

The arguments are passed on registers, so if we pass only 3 defined
arguments then the fourth argument for the prctl syscall could have
garbage value within it.

To avoid possible bugs, always pass 3 arguments to a raw syscall prctl
call in addition to the prctl sub-option (the first argument).
This commit is contained in:
Liav A 2023-09-02 14:42:46 +03:00 committed by Andreas Kling
parent ab4262d49e
commit 2966188ea3
3 changed files with 4 additions and 4 deletions

View file

@ -677,7 +677,7 @@ void ELF::DynamicLinker::linker_main(DeprecatedString&& main_program_path, int m
s_loaders.clear();
int rc = syscall(SC_prctl, PR_SET_NO_NEW_SYSCALL_REGION_ANNOTATIONS, 1, 0);
int rc = syscall(SC_prctl, PR_SET_NO_NEW_SYSCALL_REGION_ANNOTATIONS, 1, 0, nullptr);
if (rc < 0) {
VERIFY_NOT_REACHED();
}