All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: #syz test: perf/core: Prevent WARN_ON(!ctx) in __free_event for partial init failure
       [not found] <20250405193128.577856-1-gshahrouzi@gmail.com>
@ 2025-04-05 19:31 ` syzbot
  0 siblings, 0 replies; only message in thread
From: syzbot @ 2025-04-05 19:31 UTC (permalink / raw)
  To: gshahrouzi; +Cc: gshahrouzi, linux-kernel, syzkaller-bugs

> Move the get_ctx(child_ctx) call and the child_event->ctx assignment
> to occur immediately after the child event is allocated via
> perf_event_alloc(). This ensures that child_event->ctx is always
> non-NULL before any subsequent error path within inherit_event calls
> free_event(), satisfying the assumptions of the cleanup code.
>
> Reported-by: syzbot+ff3aa851d46ab82953a3@syzkaller.appspotmail.com
> Signed-off-by: Gabriel Shahrouzi <gshahrouzi@gmail.com>
> ---
>  kernel/events/core.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 0bb21659e252..153ba622cfa0 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -14016,6 +14016,9 @@ inherit_event(struct perf_event *parent_event,
>  	if (IS_ERR(child_event))
>  		return child_event;
>  
> +	get_ctx(child_ctx);
> +	child_event->ctx = child_ctx;
> +
>  	pmu_ctx = find_get_pmu_context(child_event->pmu, child_ctx, child_event);
>  	if (IS_ERR(pmu_ctx)) {
>  		free_event(child_event);
> @@ -14037,8 +14040,6 @@ inherit_event(struct perf_event *parent_event,
>  		return NULL;
>  	}
>  
> -	get_ctx(child_ctx);
> -
>  	/*
>  	 * Make the child state follow the state of the parent event,
>  	 * not its attr.disabled bit.  We hold the parent's mutex,
> @@ -14059,7 +14060,6 @@ inherit_event(struct perf_event *parent_event,
>  		local64_set(&hwc->period_left, sample_period);
>  	}
>  
> -	child_event->ctx = child_ctx;
>  	child_event->overflow_handler = parent_event->overflow_handler;
>  	child_event->overflow_handler_context
>  		= parent_event->overflow_handler_context;
> -- 
> 2.43.0
>

want either no args or 2 args (repo, branch), got 9


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-04-05 19:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250405193128.577856-1-gshahrouzi@gmail.com>
2025-04-05 19:31 ` #syz test: perf/core: Prevent WARN_ON(!ctx) in __free_event for partial init failure syzbot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.