Message ID | 1378373595-29471-1-git-send-email-geert@linux-m68k.org (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Helge Deller |
Headers | show |
On Thu, 2013-09-05 at 11:33 +0200, Geert Uytterhoeven wrote: > ERROR: "flush_cache_page" [drivers/staging/lustre/lustre/libcfs/libcfs.ko] undefined! > > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> > --- > arch/parisc/kernel/cache.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c > index c035673..b521c0a 100644 > --- a/arch/parisc/kernel/cache.c > +++ b/arch/parisc/kernel/cache.c > @@ -602,6 +602,7 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long > __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn)); > } > } > +EXPORT_SYMBOL_GPL(flush_cache_page); This is an internal API: no architecture exports this. Whoever is trying to use it needs to use the correct API, so this is the wrong patch. James -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Sep 05, 2013 at 09:01:59AM -0700, James Bottomley wrote: > > +EXPORT_SYMBOL_GPL(flush_cache_page); > > This is an internal API: no architecture exports this. Whoever is > trying to use it needs to use the correct API, so this is the wrong > patch. > I suspect it's copy_{to,from}_user_page being called here: drivers/staging/lustre/lustre/libcfs/linux/linux-curproc.c: copy_to_user_page(vma, page, addr, which we could probably take out of line. --Kyle -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Sep 5, 2013 at 7:13 PM, Kyle McMartin <kyle@infradead.org> wrote: > On Thu, Sep 05, 2013 at 09:01:59AM -0700, James Bottomley wrote: >> > +EXPORT_SYMBOL_GPL(flush_cache_page); >> >> This is an internal API: no architecture exports this. Whoever is >> trying to use it needs to use the correct API, so this is the wrong >> patch. >> > > I suspect it's copy_{to,from}_user_page being called here: Indeed. Sorry, I should have mentioned that. > drivers/staging/lustre/lustre/libcfs/linux/linux-curproc.c: > copy_to_user_page(vma, page, addr, > > which we could probably take out of line. If you want to hide flush_cache_page() for modules, yes. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 9/5/2013 12:01 PM, James Bottomley wrote: > On Thu, 2013-09-05 at 11:33 +0200, Geert Uytterhoeven wrote: >> ERROR: "flush_cache_page" [drivers/staging/lustre/lustre/libcfs/libcfs.ko] undefined! >> >> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> >> --- >> arch/parisc/kernel/cache.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c >> index c035673..b521c0a 100644 >> --- a/arch/parisc/kernel/cache.c >> +++ b/arch/parisc/kernel/cache.c >> @@ -602,6 +602,7 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long >> __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn)); >> } >> } >> +EXPORT_SYMBOL_GPL(flush_cache_page); > This is an internal API: no architecture exports this. Whoever is > trying to use it needs to use the correct API, so this is the wrong > patch. > There is a declaration for it in arch/parisc/include/asm/cacheflush.h. There are a bunch of callers in mm. The interface in documented in Documentation/cachetlb.txt. We currently use it in copy_to_user_page and copy_from_user_page. Dave
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c index c035673..b521c0a 100644 --- a/arch/parisc/kernel/cache.c +++ b/arch/parisc/kernel/cache.c @@ -602,6 +602,7 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn)); } } +EXPORT_SYMBOL_GPL(flush_cache_page); #ifdef CONFIG_PARISC_TMPALIAS
ERROR: "flush_cache_page" [drivers/staging/lustre/lustre/libcfs/libcfs.ko] undefined! Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> --- arch/parisc/kernel/cache.c | 1 + 1 file changed, 1 insertion(+)