Kernel: Don't record sys$perf_event() if profiling is not enabled

If you want to record perf events, just enable profiling. This allows us
to add random perf events to programs without littering the file system
with perfcore files.
This commit is contained in:
Andreas Kling 2021-08-11 23:16:27 +02:00
parent 0c39f8128d
commit a29788e58a
Notes: sideshowbarker 2024-07-18 07:06:08 +09:00

View file

@ -12,12 +12,9 @@ namespace Kernel {
KResultOr<FlatPtr> Process::sys$perf_event(int type, FlatPtr arg1, FlatPtr arg2)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this)
auto events_buffer = current_perf_events_buffer();
if (!events_buffer) {
if (!create_perf_events_buffer_if_needed())
return ENOMEM;
events_buffer = perf_events();
}
auto* events_buffer = current_perf_events_buffer();
if (!events_buffer)
return KSuccess;
return events_buffer->append(type, arg1, arg2, nullptr);
}