Re: [PATCH] Add __vunmap prototype

From: Satyam Sharma
Date: Mon May 14 2007 - 04:02:36 EST


On 5/14/07, Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote:
On Mon, 2007-05-14 at 00:16 -0700, Andrew Morton wrote:
> On Mon, 14 May 2007 17:07:03 +1000 Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> > __vunmap is not static but I couldn't find a prototype for it, so this
> > adds it. I need to use it in some powerpc patch to come.
> >
> > Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> >
> > include/linux/vmalloc.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > Index: linux-cell/include/linux/vmalloc.h
> > ===================================================================
> > --- linux-cell.orig/include/linux/vmalloc.h 2007-05-14 16:03:42.000000000 +1000
> > +++ linux-cell/include/linux/vmalloc.h 2007-05-14 16:03:47.000000000 +1000
> > @@ -50,6 +50,7 @@ extern void vfree(void *addr);
> > extern void *vmap(struct page **pages, unsigned int count,
> > unsigned long flags, pgprot_t prot);
> > extern void vunmap(void *addr);
> > +extern void __vunmap(void *addr, int deallocate_pages);
> >
> > extern int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,
> > unsigned long pgoff);
>
> um, the only possible reason for wanting to access __vunmap() is that you
> want to do vunmap() from interrupt context, which is deadlockable.

Argh... I'm stupid, ignore it !

I just want to __vunmap(addr, 0); which is just what vunmap() does :-)

Why is __vunmap not static btw ? If there's no reason, I'll send a patch
to make it so.

Yeah, it has no users outside mm/vmalloc.c and is not
EXPORT_SYMBOL'ed anyway (plus it's a BUG from in_interrupt() as
Andrew says, so must be called as either vfree() or vunmap()), so clearly
it does want to be static.
-
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/