Re: [PATCH 01/11] mm: export vmalloc_sync_all symbol to GPL modules

Greg KH
2011-12-01T23:00:19Z

On Thu, Dec 01, 2011 at 05:19:40PM -0500, Mathieu Desnoyers wrote:
> * Greg KH (greg@kroah.com) wrote:
> > On Thu, Dec 01, 2011 at 04:57:00PM -0500, Christoph Hellwig wrote:
> > > On Thu, Dec 01, 2011 at 04:41:13PM -0500, Mathieu Desnoyers wrote:
> > > > LTTng needs this symbol exported. It calls it to ensure its tracing
> > > > buffers and allocated data structures never trigger a page fault. This
> > > > is required to handle page fault handler tracing and NMI tracing
> > > > gracefully.
> > >
> > > We:
> > >
> > > a) don't export symbols unless they have an intree-user
> >
> > lttng is now in-tree in the drivers/staging/ area. See linux-next for
> > details if you are curious.
> >
> > > b) especially don't export something as lowlevel as this one.
> >
> > Mathieu, there's nothing else you can do to get this information? Or
> > does lttng really want such lowlevel data?
>
> LTTng calls vmalloc_sync_all() to make sure it won't crash the system
> (due to recursive page fault) when hooking on the page fault handler and
> on any hook that would happen to sit in a function hit by NMI context.
> So it really goes beyond just extracting information for this one I'm
> afraid: it's a matter of execution correctness.

Ok, fair enough.

Christoph, is there any other way to achive something like this without
this symbol being exported that you know of?

thanks,

greg k-h