aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/events/core.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 5dcc0bd08d11..b7231498de47 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -8000,6 +8000,9 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu,
8000 } 8000 }
8001 } 8001 }
8002 8002
8003 /* symmetric to unaccount_event() in _free_event() */
8004 account_event(event);
8005
8003 return event; 8006 return event;
8004 8007
8005err_per_task: 8008err_per_task:
@@ -8363,8 +8366,6 @@ SYSCALL_DEFINE5(perf_event_open,
8363 } 8366 }
8364 } 8367 }
8365 8368
8366 account_event(event);
8367
8368 /* 8369 /*
8369 * Special case software events and allow them to be part of 8370 * Special case software events and allow them to be part of
8370 * any hardware group. 8371 * any hardware group.
@@ -8661,8 +8662,6 @@ perf_event_create_kernel_counter(struct perf_event_attr *attr, int cpu,
8661 /* Mark owner so we could distinguish it from user events. */ 8662 /* Mark owner so we could distinguish it from user events. */
8662 event->owner = TASK_TOMBSTONE; 8663 event->owner = TASK_TOMBSTONE;
8663 8664
8664 account_event(event);
8665
8666 ctx = find_get_context(event->pmu, task, event); 8665 ctx = find_get_context(event->pmu, task, event);
8667 if (IS_ERR(ctx)) { 8666 if (IS_ERR(ctx)) {
8668 err = PTR_ERR(ctx); 8667 err = PTR_ERR(ctx);