ia64: Add .opd based function descriptor dereference
authorSergey Senozhatsky <sergey.senozhatsky@gmail.com>
Thu, 9 Nov 2017 23:48:26 +0000 (08:48 +0900)
committerPetr Mladek <pmladek@suse.com>
Tue, 9 Jan 2018 09:45:37 +0000 (10:45 +0100)
commit8e30788816d4d4a991136cfe9ba8715d62f31d80
tree3622d5e58bef0a1e5f7b945b6cccee9eb15d3daa
parentb865ea64304ed591b7ab92d74efb12eff5ff4cbb
ia64: Add .opd based function descriptor dereference

We are moving towards separate kernel and module function descriptor
dereference callbacks. This patch enables it for IA64.

For pointers that belong to the kernel
-  Added __start_opd and __end_opd pointers, to track the kernel
   .opd section address range;

-  Added dereference_kernel_function_descriptor(). Now we
   will dereference only function pointers that are within
   [__start_opd, __end_opd);

For pointers that belong to a module
-  Added dereference_module_function_descriptor() to handle module
   function descriptor dereference. Now we will dereference only
   pointers that are within [module->opd.start, module->opd.end).

Link: http://lkml.kernel.org/r/20171109234830.5067-3-sergey.senozhatsky@gmail.com
To: Fenghua Yu <fenghua.yu@intel.com>
To: Helge Deller <deller@gmx.de>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Paul Mackerras <paulus@samba.org>
To: Michael Ellerman <mpe@ellerman.id.au>
To: James Bottomley <jejb@parisc-linux.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jessica Yu <jeyu@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-ia64@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Tested-by: Tony Luck <tony.luck@intel.com> #ia64
Signed-off-by: Petr Mladek <pmladek@suse.com>
arch/ia64/include/asm/sections.h
arch/ia64/kernel/module.c
arch/ia64/kernel/vmlinux.lds.S