diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-03-16 11:50:48 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-03-16 11:50:48 +0100 |
| commit | de6c925db978004703944585e9dd57d58aba0fac (patch) | |
| tree | 64aa124199d1121dd8aa103f28f3a76f34435486 /kernel/module/main.c | |
| parent | 322a81d35ecdf9997c3bbf676e3547d75f38935a (diff) | |
| parent | f338e77383789c0cae23ca3d48adcc5e9e137e3c (diff) | |
| download | linux-de6c925db978004703944585e9dd57d58aba0fac.tar.gz linux-de6c925db978004703944585e9dd57d58aba0fac.zip | |
Merge 7.0-rc4 into usb-next
We need the USB fixes in this branch as well to build on top of
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/module/main.c')
| -rw-r--r-- | kernel/module/main.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/kernel/module/main.c b/kernel/module/main.c index 2bac4c7cd019..c3ce106c70af 100644 --- a/kernel/module/main.c +++ b/kernel/module/main.c @@ -1568,6 +1568,13 @@ static int simplify_symbols(struct module *mod, const struct load_info *info) break; default: + if (sym[i].st_shndx >= info->hdr->e_shnum) { + pr_err("%s: Symbol %s has an invalid section index %u (max %u)\n", + mod->name, name, sym[i].st_shndx, info->hdr->e_shnum - 1); + ret = -ENOEXEC; + break; + } + /* Divert to percpu allocation if a percpu var. */ if (sym[i].st_shndx == info->index.pcpu) secbase = (unsigned long)mod_percpu(mod); @@ -3544,12 +3551,6 @@ static int load_module(struct load_info *info, const char __user *uargs, mutex_unlock(&module_mutex); free_module: mod_stat_bump_invalid(info, flags); - /* Free lock-classes; relies on the preceding sync_rcu() */ - for_class_mod_mem_type(type, core_data) { - lockdep_free_key_range(mod->mem[type].base, - mod->mem[type].size); - } - module_memory_restore_rox(mod); module_deallocate(mod, info); free_copy: |
