1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_EXTABLE_H
3 #define _LINUX_EXTABLE_H
5 #include <linux/stddef.h> /* for NULL */
6 #include <linux/types.h>
9 struct exception_table_entry
;
11 const struct exception_table_entry
*
12 search_extable(const struct exception_table_entry
*base
,
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
);
20 /* Given an address, look for it in the exception tables */
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
);
26 /* For extable.c to search modules' exception tables. */
27 const struct exception_table_entry
*search_module_extables(unsigned long addr
);
29 static inline const struct exception_table_entry
*
30 search_module_extables(unsigned long addr
)
34 #endif /*CONFIG_MODULES*/
37 const struct exception_table_entry
*search_bpf_extables(unsigned long addr
);
39 static inline const struct exception_table_entry
*
40 search_bpf_extables(unsigned long addr
)
46 #endif /* _LINUX_EXTABLE_H */