|
@@ -387,6 +387,10 @@ int module_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
|
|
|
/* Look for this name: can be of form module:name. */
|
|
|
unsigned long module_kallsyms_lookup_name(const char *name);
|
|
|
|
|
|
+int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
|
|
|
+ struct module *, unsigned long),
|
|
|
+ void *data);
|
|
|
+
|
|
|
extern void __module_put_and_exit(struct module *mod, long code)
|
|
|
__attribute__((noreturn));
|
|
|
#define module_put_and_exit(code) __module_put_and_exit(THIS_MODULE, code);
|
|
@@ -566,6 +570,14 @@ static inline unsigned long module_kallsyms_lookup_name(const char *name)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static inline int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
|
|
|
+ struct module *,
|
|
|
+ unsigned long),
|
|
|
+ void *data)
|
|
|
+{
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
static inline int register_module_notifier(struct notifier_block * nb)
|
|
|
{
|
|
|
/* no events will happen anyway, so this can always succeed */
|