diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-09-11 08:40:32 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-09-11 08:40:32 -0700 |
commit | c529b7e2db948e240c48c54a83d0b6279275e57d (patch) | |
tree | ae4e0f6f6cebd1f5821c1708d0dd0cae489f868d /arch/ia64/include/asm/sections.h | |
parent | e2858ce3ed519500e3b9af1c16c25250ff16cd5c (diff) | |
parent | e7b140365b86aaf94374214c6f4e6decbee2eb0a (diff) | |
download | linux-c529b7e2db948e240c48c54a83d0b6279275e57d.tar.bz2 |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] prevent ia64 from invoking irq handlers on offline CPUs
[IA64] arch/ia64/sn/pci/tioca_provider.c: introduce missing kfree
[IA64] fix up bte.h
[IA64] fix compile failure with non modular builds
Diffstat (limited to 'arch/ia64/include/asm/sections.h')
-rw-r--r-- | arch/ia64/include/asm/sections.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/ia64/include/asm/sections.h b/arch/ia64/include/asm/sections.h index a7acad2bc2f0..f66799891036 100644 --- a/arch/ia64/include/asm/sections.h +++ b/arch/ia64/include/asm/sections.h @@ -6,6 +6,8 @@ * David Mosberger-Tang <davidm@hpl.hp.com> */ +#include <linux/elf.h> +#include <linux/uaccess.h> #include <asm-generic/sections.h> extern char __per_cpu_start[], __per_cpu_end[], __phys_per_cpu_start[]; @@ -22,7 +24,16 @@ extern char __start_unwind[], __end_unwind[]; extern char __start_ivt_text[], __end_ivt_text[]; #undef dereference_function_descriptor -void *dereference_function_descriptor(void *); +static inline void *dereference_function_descriptor(void *ptr) +{ + struct fdesc *desc = ptr; + void *p; + + if (!probe_kernel_address(&desc->ip, p)) + ptr = p; + return ptr; +} + #endif /* _ASM_IA64_SECTIONS_H */ |