diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-12-25 07:22:09 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2017-03-28 02:27:28 +0200 |
commit | aaa2e7ac80f679230faf28a8e12e8d68dbe977eb (patch) | |
tree | 904faa89e8a0d1400ab91662f28a6765caa02b9f /include | |
parent | uaccess: drop pointless ifdefs (diff) | |
download | linux-aaa2e7ac80f679230faf28a8e12e8d68dbe977eb.tar.xz linux-aaa2e7ac80f679230faf28a8e12e8d68dbe977eb.zip |
add asm-generic/extable.h
... and make the users of generic uaccess.h use that.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/extable.h | 26 | ||||
-rw-r--r-- | include/asm-generic/uaccess.h | 20 |
2 files changed, 28 insertions, 18 deletions
diff --git a/include/asm-generic/extable.h b/include/asm-generic/extable.h new file mode 100644 index 000000000000..ca14c6664027 --- /dev/null +++ b/include/asm-generic/extable.h @@ -0,0 +1,26 @@ +#ifndef __ASM_GENERIC_EXTABLE_H +#define __ASM_GENERIC_EXTABLE_H + +/* + * The exception table consists of pairs of addresses: the first is the + * address of an instruction that is allowed to fault, and the second is + * the address at which the program should continue. No registers are + * modified, so it is entirely up to the continuation code to figure out + * what to do. + * + * All the routines below use bits of fixup code that are out of line + * with the main instruction path. This means when everything is well, + * we don't even have to jump over them. Further, they do not intrude + * on our cache or tlb entries. + */ + +struct exception_table_entry +{ + unsigned long insn, fixup; +}; + + +struct pt_regs; +extern int fixup_exception(struct pt_regs *regs); + +#endif diff --git a/include/asm-generic/uaccess.h b/include/asm-generic/uaccess.h index d20955e495b3..4b4f4a7f22c6 100644 --- a/include/asm-generic/uaccess.h +++ b/include/asm-generic/uaccess.h @@ -48,24 +48,6 @@ static inline int __access_ok(unsigned long addr, unsigned long size) #endif /* - * The exception table consists of pairs of addresses: the first is the - * address of an instruction that is allowed to fault, and the second is - * the address at which the program should continue. No registers are - * modified, so it is entirely up to the continuation code to figure out - * what to do. - * - * All the routines below use bits of fixup code that are out of line - * with the main instruction path. This means when everything is well, - * we don't even have to jump over them. Further, they do not intrude - * on our cache or tlb entries. - */ - -struct exception_table_entry -{ - unsigned long insn, fixup; -}; - -/* * architectures with an MMU should override these two */ #ifndef __copy_from_user @@ -344,4 +326,6 @@ clear_user(void __user *to, unsigned long n) return __clear_user(to, n); } +#include <asm/extable.h> + #endif /* __ASM_GENERIC_UACCESS_H */ |