Merge 21a6ab2131 ("Merge tag 'modules-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux") into android-mainline
Steps on the way to 5.12-rc1 Resolves conflicts in: include/linux/module.h Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I44772d65a5d6b1c5f4c33905554092c2cdc5b210
This commit is contained in:
@@ -393,18 +393,6 @@ struct module {
|
||||
const s32 *gpl_crcs;
|
||||
bool using_gplonly_symbols;
|
||||
|
||||
#ifdef CONFIG_UNUSED_SYMBOLS
|
||||
/* unused exported symbols. */
|
||||
const struct kernel_symbol *unused_syms;
|
||||
const s32 *unused_crcs;
|
||||
unsigned int num_unused_syms;
|
||||
|
||||
/* GPL-only, unused exported symbols. */
|
||||
unsigned int num_unused_gpl_syms;
|
||||
const struct kernel_symbol *unused_gpl_syms;
|
||||
const s32 *unused_gpl_crcs;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Signature was verified. Unconditionally compiled in Android to
|
||||
* preserve ABI compatibility between kernels without module
|
||||
@@ -414,11 +402,6 @@ struct module {
|
||||
|
||||
bool async_probe_requested;
|
||||
|
||||
/* symbols that will be GPL-only in the near future. */
|
||||
const struct kernel_symbol *gpl_future_syms;
|
||||
const s32 *gpl_future_crcs;
|
||||
unsigned int num_gpl_future_syms;
|
||||
|
||||
/* Exception table */
|
||||
unsigned int num_exentries;
|
||||
struct exception_table_entry *extable;
|
||||
@@ -553,8 +536,6 @@ static inline unsigned long kallsyms_symbol_value(const Elf_Sym *sym)
|
||||
}
|
||||
#endif
|
||||
|
||||
extern struct mutex module_mutex;
|
||||
|
||||
/* FIXME: It'd be nice to isolate modules during init, too, so they
|
||||
aren't used before they (may) fail. But presently too much code
|
||||
(IDE & SCSI) require entry into the module during init.*/
|
||||
@@ -589,20 +570,9 @@ static inline bool within_module(unsigned long addr, const struct module *mod)
|
||||
return within_module_init(addr, mod) || within_module_core(addr, mod);
|
||||
}
|
||||
|
||||
/* Search for module by name: must hold module_mutex. */
|
||||
/* Search for module by name: must be in a RCU-sched critical section. */
|
||||
struct module *find_module(const char *name);
|
||||
|
||||
struct symsearch {
|
||||
const struct kernel_symbol *start, *stop;
|
||||
const s32 *crcs;
|
||||
enum mod_license {
|
||||
NOT_GPL_ONLY,
|
||||
GPL_ONLY,
|
||||
WILL_BE_GPL_ONLY,
|
||||
} license;
|
||||
bool unused;
|
||||
};
|
||||
|
||||
/* Returns 0 and fills in value, defined and namebuf, or -ERANGE if
|
||||
symnum out of range. */
|
||||
int module_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
|
||||
@@ -611,10 +581,6 @@ 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 __noreturn __module_put_and_exit(struct module *mod,
|
||||
long code);
|
||||
#define module_put_and_exit(code) __module_put_and_exit(THIS_MODULE, code)
|
||||
@@ -798,14 +764,6 @@ 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 */
|
||||
@@ -894,4 +852,8 @@ static inline bool module_sig_ok(struct module *module)
|
||||
}
|
||||
#endif /* CONFIG_MODULE_SIG */
|
||||
|
||||
int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
|
||||
struct module *, unsigned long),
|
||||
void *data);
|
||||
|
||||
#endif /* _LINUX_MODULE_H */
|
||||
|
||||
Reference in New Issue
Block a user