On Sat, Mar 22, 2014 at 9:47 AM, Kees Cook <keescook@xxxxxxxxxxxx> wrote: > The lkdtm module performs tests against executable memory ranges, so > it needs to flush the icache for proper behaviors. Other architectures > already export this, so do the same for MIPS. > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > --- > This is currently untested! I'm building a MIPS cross-compiler now... > If someone can validate this fixes the build when lkdtm is a module, > that would be appreciated. :) Okay, now tested. I reproduced the failure and this patch fixes it. :) -Kees > --- > arch/mips/mm/cache.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c > index fde7e56d13fe..b3f1df13d9f6 100644 > --- a/arch/mips/mm/cache.c > +++ b/arch/mips/mm/cache.c > @@ -38,6 +38,7 @@ void (*__flush_kernel_vmap_range)(unsigned long vaddr, int size); > void (*__invalidate_kernel_vmap_range)(unsigned long vaddr, int size); > > EXPORT_SYMBOL_GPL(__flush_kernel_vmap_range); > +EXPORT_SYMBOL_GPL(flush_icache_range); > > /* MIPS specific cache operations */ > void (*flush_cache_sigtramp)(unsigned long addr); > -- > 1.7.9.5 > > > -- > Kees Cook > Chrome OS Security -- Kees Cook Chrome OS Security