From ad6587424fad5c39dee817db3d7237e47844cd5b Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Mon, 24 May 2021 08:59:30 +0200 Subject: [PATCH] Kernel: Disable profiling if setting up the buffer or timer failed --- Kernel/Syscalls/profiling.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Kernel/Syscalls/profiling.cpp b/Kernel/Syscalls/profiling.cpp index d727195a72..81b8e4690d 100644 --- a/Kernel/Syscalls/profiling.cpp +++ b/Kernel/Syscalls/profiling.cpp @@ -53,10 +53,14 @@ KResultOr Process::sys$profiling_enable(pid_t pid, u64 event_mask) return EPERM; g_profiling_event_mask = event_mask; process->set_profiling(true); - if (!process->create_perf_events_buffer_if_needed()) + if (!process->create_perf_events_buffer_if_needed()) { + process->set_profiling(false); return ENOMEM; - if (!TimeManagement::the().enable_profile_timer()) + } + if (!TimeManagement::the().enable_profile_timer()) { + process->set_profiling(false); return ENOTSUP; + } return 0; }