From: Lucas De Marchi Date: Fri, 16 Nov 2012 14:05:42 +0000 (-0200) Subject: depmod: fix asserting mod->kmod == NULL X-Git-Tag: v12~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02c64df3c2b33880b18d3f4aba9fa8e48e5ca904;p=thirdparty%2Fkmod.git depmod: fix asserting mod->kmod == NULL If we are replacing a lower priority module (due to its location), we already created a kmod_module, but didn't open the file for reading its symbols. This means mod->kmod won't be NULL, and this is just ok. Since all the functions freeing stuff below the previous assert already takes NULL into consideration, it's safe to just unref mod->kmod and let the right thing happens. --- diff --git a/tools/depmod.c b/tools/depmod.c index aafe66b1..7bbdcd35 100644 --- a/tools/depmod.c +++ b/tools/depmod.c @@ -977,7 +977,7 @@ static void mod_free(struct mod *mod) { DBG("free %p kmod=%p, path=%s\n", mod, mod->kmod, mod->path); array_free_array(&mod->deps); - assert(mod->kmod == NULL); + kmod_module_unref(mod->kmod); kmod_module_info_free_list(mod->info_list); kmod_module_dependency_symbols_free_list(mod->dep_sym_list); free(mod->uncrelpath);