diff options
author | Kyle McMartin <kyle@mcmartin.ca> | 2009-03-15 16:49:55 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@mcmartin.ca> | 2009-04-02 04:16:27 +0000 |
commit | b609308e1415efebdf79ebd553f4dd47b0ff2722 (patch) | |
tree | 49755dcda956ee0ce75d6f3d3e38e4d54245f799 /arch/parisc/kernel/process.c | |
parent | bf589a349b9a41ea202ddb8115b18f543b944bfd (diff) |
parisc: move dereference_function_descriptor to process.c
Commit deac93df26b20cf8438339b5935b5f5643bc30c9 fixed up printing
of %pF on parisc, but added the dereference_function_descriptor
prototype to module.c... this isn't a particularly wise idea as
module.c might not always be compiled.
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Diffstat (limited to 'arch/parisc/kernel/process.c')
-rw-r--r-- | arch/parisc/kernel/process.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c index ad585fd7748e..029831dfce36 100644 --- a/arch/parisc/kernel/process.c +++ b/arch/parisc/kernel/process.c @@ -46,14 +46,15 @@ #include <linux/stddef.h> #include <linux/unistd.h> #include <linux/kallsyms.h> +#include <linux/uaccess.h> #include <asm/io.h> #include <asm/asm-offsets.h> #include <asm/pdc.h> #include <asm/pdc_chassis.h> #include <asm/pgalloc.h> -#include <asm/uaccess.h> #include <asm/unwind.h> +#include <asm/sections.h> /* * The idle thread. There's no useful work to be @@ -390,3 +391,15 @@ get_wchan(struct task_struct *p) } while (count++ < 16); return 0; } + +#ifdef CONFIG_64BIT +void *dereference_function_descriptor(void *ptr) +{ + Elf64_Fdesc *desc = ptr; + void *p; + + if (!probe_kernel_address(&desc->addr, p)) + ptr = p; + return ptr; +} +#endif |