Re: [PATCH] perf: Fix sys_perf_event_open() race against self

From: Borislav Petkov
Date: Wed Nov 16 2022 - 17:31:05 EST


On Mon, May 23, 2022 at 04:03:29PM +0530, Ravi Bangoria wrote:
> On 21-May-22 12:08 AM, Peter Zijlstra wrote:
> >
> > Norbert reported that it's possible to race sys_perf_event_open() such
> > that the looser ends up in another context from the group leader,
> > triggering many WARNs.
> >
> > The move_group case checks for races against itself, but the
> > !move_group case doesn't, seemingly relying on the previous
> > group_leader->ctx == ctx check. However, that check is racy due to not
> > holding any locks at that time.
> >
> > Therefore, re-check the result after acquiring locks and bailing
> > if they no longer match.
> >
> > Additionally, clarify the not_move_group case from the
> > move_group-vs-move_group race.
>
> Tested-by: Ravi Bangoria <ravi.bangoria@xxxxxxx>
>
> Below is a quick test to reproduce the issue. It triggers WARN_ON()
> as normal user. No warnings with the patch.

Shouldn't this test be in tools/perf/tests/ or so?

If that hasn't happened yet, I mean.

Thx.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette