diff options
Diffstat (limited to 'kernel/module.c')
| -rw-r--r-- | kernel/module.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/kernel/module.c b/kernel/module.c index f5e9491ef7ac..5f80478b746d 100644 --- a/kernel/module.c +++ b/kernel/module.c | |||
| @@ -1337,7 +1337,19 @@ out_unreg: | |||
| 1337 | kobject_put(&mod->mkobj.kobj); | 1337 | kobject_put(&mod->mkobj.kobj); |
| 1338 | return err; | 1338 | return err; |
| 1339 | } | 1339 | } |
| 1340 | #endif | 1340 | |
| 1341 | static void mod_sysfs_fini(struct module *mod) | ||
| 1342 | { | ||
| 1343 | kobject_put(&mod->mkobj.kobj); | ||
| 1344 | } | ||
| 1345 | |||
| 1346 | #else /* CONFIG_SYSFS */ | ||
| 1347 | |||
| 1348 | static void mod_sysfs_fini(struct module *mod) | ||
| 1349 | { | ||
| 1350 | } | ||
| 1351 | |||
| 1352 | #endif /* CONFIG_SYSFS */ | ||
| 1341 | 1353 | ||
| 1342 | static void mod_kobject_remove(struct module *mod) | 1354 | static void mod_kobject_remove(struct module *mod) |
| 1343 | { | 1355 | { |
| @@ -1345,7 +1357,7 @@ static void mod_kobject_remove(struct module *mod) | |||
| 1345 | module_param_sysfs_remove(mod); | 1357 | module_param_sysfs_remove(mod); |
| 1346 | kobject_put(mod->mkobj.drivers_dir); | 1358 | kobject_put(mod->mkobj.drivers_dir); |
| 1347 | kobject_put(mod->holders_dir); | 1359 | kobject_put(mod->holders_dir); |
| 1348 | kobject_put(&mod->mkobj.kobj); | 1360 | mod_sysfs_fini(mod); |
| 1349 | } | 1361 | } |
| 1350 | 1362 | ||
| 1351 | /* | 1363 | /* |
| @@ -1780,7 +1792,7 @@ static struct module *load_module(void __user *umod, | |||
| 1780 | 1792 | ||
| 1781 | /* Sanity checks against insmoding binaries or wrong arch, | 1793 | /* Sanity checks against insmoding binaries or wrong arch, |
| 1782 | weird elf version */ | 1794 | weird elf version */ |
| 1783 | if (memcmp(hdr->e_ident, ELFMAG, 4) != 0 | 1795 | if (memcmp(hdr->e_ident, ELFMAG, SELFMAG) != 0 |
| 1784 | || hdr->e_type != ET_REL | 1796 | || hdr->e_type != ET_REL |
| 1785 | || !elf_check_arch(hdr) | 1797 | || !elf_check_arch(hdr) |
| 1786 | || hdr->e_shentsize != sizeof(*sechdrs)) { | 1798 | || hdr->e_shentsize != sizeof(*sechdrs)) { |
