diff options
author | Alex Shi <alex.shi@linaro.org> | 2017-03-31 12:06:55 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2017-03-31 12:06:55 +0800 |
commit | 73dadd0ed30ff274d645b3b2ea90e897608947bc (patch) | |
tree | 749b4f36c5ccf34dd43a661b643fb30072bd8271 /kernel/events | |
parent | 8959febfbb5d254e76cccba4f5eb805032a540fe (diff) | |
parent | 6b69866928947d66fdb5af0c798066f9506dd3f9 (diff) |
Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
Diffstat (limited to 'kernel/events')
-rw-r--r-- | kernel/events/core.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 19f34aa0eb68..8ca0ab9faaa4 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -9374,7 +9374,7 @@ static int perf_event_init_context(struct task_struct *child, int ctxn) ret = inherit_task_group(event, parent, parent_ctx, child, ctxn, &inherited_all); if (ret) - break; + goto out_unlock; } /* @@ -9390,7 +9390,7 @@ static int perf_event_init_context(struct task_struct *child, int ctxn) ret = inherit_task_group(event, parent, parent_ctx, child, ctxn, &inherited_all); if (ret) - break; + goto out_unlock; } raw_spin_lock_irqsave(&parent_ctx->lock, flags); @@ -9418,6 +9418,7 @@ static int perf_event_init_context(struct task_struct *child, int ctxn) } raw_spin_unlock_irqrestore(&parent_ctx->lock, flags); +out_unlock: mutex_unlock(&parent_ctx->mutex); perf_unpin_context(parent_ctx); |