diff options
Diffstat (limited to 'scripts/mod/modpost.c')
| -rw-r--r-- | scripts/mod/modpost.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index ce37e6de5df7..6c1f95d18515 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1210,6 +1210,13 @@ static void check_export_symbol(struct module *mod, struct elf_info *elf,  		return;  	} +	if (ELF_ST_BIND(sym->st_info) != STB_GLOBAL && +	    ELF_ST_BIND(sym->st_info) != STB_WEAK) { +		error("%s: local symbol '%s' was exported\n", mod->name, +		      label_name + strlen(prefix)); +		return; +	} +  	name = sym_name(elf, sym);  	if (strcmp(label_name + strlen(prefix), name)) {  		error("%s: .export_symbol section references '%s', but it does not seem to be an export symbol\n",  | 
