mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
![Paul Gortmaker](/assets/img/avatar_default.png)
While not an issue now, eventually we will have independent users of the extable.h file and we will stop sourcing it via module.h header. In testing that pending work, with very sparse builds, characteristic of an "allnoconfig" on various architectures, we can sometimes hit an instance where the very basic standard definitions aren't present, resulting in: include/linux/extable.h:26:9: error: 'NULL' undeclared (first use in this function) To be clear, this isn't a regression, since currently extable.h is only used by module.h -- however, we will need this addition present before we start migrating exception table users off module.h and onto extable.h during the next release cycle. Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
32 lines
960 B
C
32 lines
960 B
C
#ifndef _LINUX_EXTABLE_H
|
|
#define _LINUX_EXTABLE_H
|
|
|
|
#include <linux/stddef.h> /* for NULL */
|
|
|
|
struct module;
|
|
struct exception_table_entry;
|
|
|
|
const struct exception_table_entry *
|
|
search_extable(const struct exception_table_entry *first,
|
|
const struct exception_table_entry *last,
|
|
unsigned long value);
|
|
void sort_extable(struct exception_table_entry *start,
|
|
struct exception_table_entry *finish);
|
|
void sort_main_extable(void);
|
|
void trim_init_extable(struct module *m);
|
|
|
|
/* Given an address, look for it in the exception tables */
|
|
const struct exception_table_entry *search_exception_tables(unsigned long add);
|
|
|
|
#ifdef CONFIG_MODULES
|
|
/* For extable.c to search modules' exception tables. */
|
|
const struct exception_table_entry *search_module_extables(unsigned long addr);
|
|
#else
|
|
static inline const struct exception_table_entry *
|
|
search_module_extables(unsigned long addr)
|
|
{
|
|
return NULL;
|
|
}
|
|
#endif /*CONFIG_MODULES*/
|
|
|
|
#endif /* _LINUX_EXTABLE_H */
|