Re: use-after-free in __perf_install_in_context

From: Ingo Molnar
Date: Fri Dec 11 2015 - 03:14:44 EST



* Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote:

> On Thu, Dec 10, 2015 at 10:02:51AM +0100, Peter Zijlstra wrote:
> > On Wed, Dec 09, 2015 at 07:54:35PM -0800, Alexei Starovoitov wrote:
> > > Freeing memory is a requirement regardless.
> > > Even when kernel running with kasan, there must be a way to stop
> > > stack collection and free that memory.
> > > You cannot treat kernel as your test program or 'device under test'.
> >
> > Relax, that is exactly what lockdep does. It cannot dynamically allocate
> > things because allocators use lock etc..
> >
> > Its fine to build up state for debug bits, esp. if its bounded, like the
> > number of unique callchains.
>
> except the code in question is doing unbounded alloc_pages()

Yes, but the trick is to still have a bound sized debug pool - which runs out of
entries gracefully.

Which in practice is plenty enough for most types of testing, and is a lot more
robust than any dynamic scheme.

Thanks,

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/