#include <linux/elf.h>
#include <linux/moduleloader.h>
#include <linux/string.h>
-#include <linux/uaccess.h>
#include <linux/vmalloc.h>
#include <asm/patch.h>
-#include <asm/sections.h>
#include <asm/unaligned.h>
#define ARCH_MODULE_DEBUG 0
#undef N
-struct got_entry {
- uint64_t val;
-};
-
-struct fdesc {
- uint64_t ip;
- uint64_t gp;
-};
-
/* Opaque struct for insns, to protect against derefs. */
struct insn;
if (mod->arch.core_unw_table)
unw_remove_unwind_table(mod->arch.core_unw_table);
}
-
-void *dereference_function_descriptor(void *ptr)
-{
- struct fdesc *desc = ptr;
- void *p;
-
- if (!probe_kernel_address(&desc->ip, p))
- ptr = p;
- return ptr;
-}