Re: [PATCH 1/2] oprofile: fix race condition in event_buffer free

From: Ingo Molnar
Date: Mon Oct 12 2009 - 17:29:29 EST



* Robert Richter <robert.richter@xxxxxxx> wrote:

> On 09.10.09 21:33:29, Robert Richter wrote:
> > From: David Rientjes <rientjes@xxxxxxxxxx>
> >
> > Looking at the 2.6.31-rc9 code, it appears there is a race condition
> > in the event_buffer cleanup code path (shutdown). This could lead to
> > kernel panic as some CPUs may be operating on the event buffer AFTER
> > it has been freed. The attached patch solves the problem and makes
> > sure CPUs check if the buffer is not NULL before they access it as
> > some may have been spinning on the mutex while the buffer was being
> > freed.
> >
> > The race may happen if the buffer is freed during pending reads. But
> > it is not clear why there are races in add_event_entry() since all
> > workqueues or handlers are canceled or flushed before the event buffer
> > is freed.
> >
> > Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
> > Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
> > Signed-off-by: Robert Richter <robert.richter@xxxxxxx>
>
> Ingo,
>
> you can also pull the patches from here:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git urgent
>
> Thanks.

Pulled, thanks Robert!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/