aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/events/core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 4742909c56e6..fc7c9a85944d 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -10679,7 +10679,7 @@ static int perf_event_init_context(struct task_struct *child, int ctxn)
10679 ret = inherit_task_group(event, parent, parent_ctx, 10679 ret = inherit_task_group(event, parent, parent_ctx,
10680 child, ctxn, &inherited_all); 10680 child, ctxn, &inherited_all);
10681 if (ret) 10681 if (ret)
10682 break; 10682 goto out_unlock;
10683 } 10683 }
10684 10684
10685 /* 10685 /*
@@ -10695,7 +10695,7 @@ static int perf_event_init_context(struct task_struct *child, int ctxn)
10695 ret = inherit_task_group(event, parent, parent_ctx, 10695 ret = inherit_task_group(event, parent, parent_ctx,
10696 child, ctxn, &inherited_all); 10696 child, ctxn, &inherited_all);
10697 if (ret) 10697 if (ret)
10698 break; 10698 goto out_unlock;
10699 } 10699 }
10700 10700
10701 raw_spin_lock_irqsave(&parent_ctx->lock, flags); 10701 raw_spin_lock_irqsave(&parent_ctx->lock, flags);
@@ -10723,6 +10723,7 @@ static int perf_event_init_context(struct task_struct *child, int ctxn)
10723 } 10723 }
10724 10724
10725 raw_spin_unlock_irqrestore(&parent_ctx->lock, flags); 10725 raw_spin_unlock_irqrestore(&parent_ctx->lock, flags);
10726out_unlock:
10726 mutex_unlock(&parent_ctx->mutex); 10727 mutex_unlock(&parent_ctx->mutex);
10727 10728
10728 perf_unpin_context(parent_ctx); 10729 perf_unpin_context(parent_ctx);