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; }