From: Emil Velikov Date: Mon, 12 Feb 2024 17:23:08 +0000 (+0000) Subject: libkmod: move kmod_file_load_contents as applicable X-Git-Tag: v33~60 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8cc475f7da3bb6e8e211ebcba141d38527980eb8;p=thirdparty%2Fkmod.git libkmod: move kmod_file_load_contents as applicable When dealing with an elf, we don't know or care about loading the file. The kmod_elf subsystem/API will deal with the required parts itself. Which in this case, already calls kmod_file_load_contents() as applicable. Signed-off-by: Emil Velikov Reviewed-by: Lucas De Marchi Signed-off-by: Lucas De Marchi --- diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c index 1e434829..d3099484 100644 --- a/libkmod/libkmod-module.c +++ b/libkmod/libkmod-module.c @@ -903,10 +903,6 @@ static int do_init_module(struct kmod_module *mod, unsigned int flags, off_t size; int err; - err = kmod_file_load_contents(mod->file); - if (err) - return err; - if (flags & (KMOD_INSERT_FORCE_VERMAGIC | KMOD_INSERT_FORCE_MODVERSION)) { elf = kmod_file_get_elf(mod->file); if (elf == NULL) { @@ -928,6 +924,10 @@ static int do_init_module(struct kmod_module *mod, unsigned int flags, mem = kmod_elf_get_memory(elf); } else { + err = kmod_file_load_contents(mod->file); + if (err) + return err; + mem = kmod_file_get_contents(mod->file); } size = kmod_file_get_size(mod->file);