diff options
author | Helge Deller <deller@gmx.de> | 2016-04-08 12:11:33 -0400 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2016-04-08 16:13:45 -0400 |
commit | e3893027a300927049efc1572f852201eb785142 (patch) | |
tree | 19d418fb5ae91ca89da29261c6a6aaf10cfb74d6 | |
parent | 592570c950fb455226cd255603de7cede2be83e6 (diff) |
parisc: Avoid function pointers for kernel exception routines
We want to avoid the kernel module loader to create function pointers
for the kernel fixup routines of get_user() and put_user(). Changing
the external reference from function type to int type fixes this.
This unbreaks exception handling for get_user() and put_user() when
called from a kernel module.
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org
-rw-r--r-- | arch/parisc/kernel/parisc_ksyms.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/parisc/kernel/parisc_ksyms.c b/arch/parisc/kernel/parisc_ksyms.c index 568b2c61ea02..3cad8aadc69e 100644 --- a/arch/parisc/kernel/parisc_ksyms.c +++ b/arch/parisc/kernel/parisc_ksyms.c | |||
@@ -47,11 +47,11 @@ EXPORT_SYMBOL(__cmpxchg_u64); | |||
47 | EXPORT_SYMBOL(lclear_user); | 47 | EXPORT_SYMBOL(lclear_user); |
48 | EXPORT_SYMBOL(lstrnlen_user); | 48 | EXPORT_SYMBOL(lstrnlen_user); |
49 | 49 | ||
50 | /* Global fixups */ | 50 | /* Global fixups - defined as int to avoid creation of function pointers */ |
51 | extern void fixup_get_user_skip_1(void); | 51 | extern int fixup_get_user_skip_1; |
52 | extern void fixup_get_user_skip_2(void); | 52 | extern int fixup_get_user_skip_2; |
53 | extern void fixup_put_user_skip_1(void); | 53 | extern int fixup_put_user_skip_1; |
54 | extern void fixup_put_user_skip_2(void); | 54 | extern int fixup_put_user_skip_2; |
55 | EXPORT_SYMBOL(fixup_get_user_skip_1); | 55 | EXPORT_SYMBOL(fixup_get_user_skip_1); |
56 | EXPORT_SYMBOL(fixup_get_user_skip_2); | 56 | EXPORT_SYMBOL(fixup_get_user_skip_2); |
57 | EXPORT_SYMBOL(fixup_put_user_skip_1); | 57 | EXPORT_SYMBOL(fixup_put_user_skip_1); |