1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:48:10 +00:00

Kernel: Fixed argument passing for profiling_enable syscall

Arguments larger than 32bit need to be passed as a pointer on a 32bit
architectures. sys$profiling_enable has u64 event_mask argument,
which means that it needs to be passed as an pointer. Previously upper
32bits were filled by garbage.
This commit is contained in:
Jakub Berkop 2022-02-18 22:12:35 +01:00 committed by Andreas Kling
parent 0f2e18403c
commit 895a050e04
4 changed files with 9 additions and 4 deletions

View file

@ -373,7 +373,8 @@ void init_stage2(void*)
if (boot_profiling) {
dbgln("Starting full system boot profiling");
MutexLocker mutex_locker(Process::current().big_lock());
auto result = Process::current().sys$profiling_enable(-1, ~0ull);
const auto enable_all = ~(u64)0;
auto result = Process::current().sys$profiling_enable(-1, reinterpret_cast<FlatPtr>(&enable_all));
VERIFY(!result.is_error());
}