| 1 |
|
| 2 | #ifndef _LINUX_EXTABLE_H
|
| 3 | #define _LINUX_EXTABLE_H
|
| 4 |
|
| 5 | #include <linux/stddef.h>
|
| 6 | #include <linux/types.h>
|
| 7 |
|
| 8 | struct module;
|
| 9 | struct exception_table_entry;
|
| 10 |
|
| 11 | const struct exception_table_entry *
|
| 12 | search_extable(const struct exception_table_entry *base,
|
| 13 | const size_t num,
|
| 14 | unsigned long value);
|
| 15 | void sort_extable(struct exception_table_entry *start,
|
| 16 | struct exception_table_entry *finish);
|
| 17 | void sort_main_extable(void);
|
| 18 | void trim_init_extable(struct module *m);
|
| 19 |
|
| 20 |
|
| 21 | const struct exception_table_entry *search_exception_tables(unsigned long add);
|
| 22 | const struct exception_table_entry *
|
| 23 | search_kernel_exception_table(unsigned long addr);
|
| 24 |
|
| 25 | #ifdef CONFIG_MODULES
|
| 26 |
|
| 27 | const struct exception_table_entry *search_module_extables(unsigned long addr);
|
| 28 | #else
|
| 29 | static inline const struct exception_table_entry *
|
| 30 | search_module_extables(unsigned long addr)
|
| 31 | {
|
| 32 | return NULL;
|
| 33 | }
|
| 34 | #endif
|
| 35 |
|
| 36 | #ifdef CONFIG_BPF_JIT
|
| 37 | const struct exception_table_entry *search_bpf_extables(unsigned long addr);
|
| 38 | #else
|
| 39 | static inline const struct exception_table_entry *
|
| 40 | search_bpf_extables(unsigned long addr)
|
| 41 | {
|
| 42 | return NULL;
|
| 43 | }
|
| 44 | #endif
|
| 45 |
|
| 46 | #endif
|