On (10/04/17 12:40), Petr Mladek wrote:
> > +unsigned long dereference_module_function_descriptor(struct module *mod,
> > +                                                unsigned long addr)
> > +{
> > +   unsigned long start_opd = (Elf64_Addr)mod->core_layout.base +
> > +                              mod->arch.fdesc_offset;
> > +   unsigned long end_opd = start_opd +
> > +                           mod->arch.fdesc_count * sizeof(Elf64_Fdesc);
> 
> I know that this is used in rather slow paths. But it still might
> make sense to have these section borders pre-computed and
> stored in struct mod_arch_specific. I mean to do similar
> thing that we do on powerpc.
> 
> Well, we could do this in a followup patch if parisc people
> wanted it.
> 
> 
> > +   if (addr < start_opd || addr >= end_opd)
> > +           return addr;
> > +
> > +   return dereference_function_descriptor(addr);
> > +}
> > +#endif
> 
> Otherwise the patch looks fine to me.
> 
> Reviewed-by: Petr Mladek <pmla...@suse.com>

let's do it later, if need be.

        -ss

Reply via email to