Thread (25 messages) flat view 25 messages, 4 authors, 2017-10-23

Re: [PATCHv3 5/7] parisc64: Add .opd based function descriptor dereference

From: Sergey Senozhatsky <hidden>
Date: 2017-10-19 06:44:31
Also in: lkml

On (10/04/17 12:40), Petr Mladek wrote:
quoted
+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.

quoted
+	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 <pmladek@suse.com>
let's do it later, if need be.

	-ss
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help