diff --git a/kernel/events/core.c b/kernel/events/core.c
index ea899e2b5593e9633194ad68a42fb1f5f51728be..71232844f235f45068b1f6f30c5842693cff9e54 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -7729,6 +7729,8 @@ int perf_event_init_context(struct task_struct *child, int ctxn)
 	 * swapped under us.
 	 */
 	parent_ctx = perf_pin_task_context(parent, ctxn);
+	if (!parent_ctx)
+		return 0;
 
 	/*
 	 * No need to check if parent_ctx != NULL here; since we saw