From: Philippe De Swert Date: Wed, 7 Oct 2015 15:36:58 +0000 (+0300) Subject: insmod: do support -f X-Git-Tag: v22~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2b2a503e4ff02b385ff6de9741a6b6afae910f11;p=thirdparty%2Fkmod.git insmod: do support -f The -f switch is accepted by insmod, but silently ignored. This causes the user to wonder why things don't work. As insmod is most often used with "evil" modules, -f is almost default and thus needs to work. Signed-off-by: Philippe De Swert --- diff --git a/tools/insmod.c b/tools/insmod.c index 8e72e11f..045fd2c3 100644 --- a/tools/insmod.c +++ b/tools/insmod.c @@ -71,6 +71,7 @@ static int do_insmod(int argc, char *argv[]) size_t optslen = 0; int i, err; const char *null_config = NULL; + unsigned int flags = 0; for (;;) { int c, idx = 0; @@ -81,7 +82,8 @@ static int do_insmod(int argc, char *argv[]) case 'p': case 's': case 'f': - /* ignored, for compatibility only */ + flags |= KMOD_PROBE_FORCE_MODVERSION; + flags |= KMOD_PROBE_FORCE_VERMAGIC; break; case 'h': help(); @@ -142,7 +144,7 @@ static int do_insmod(int argc, char *argv[]) goto end; } - err = kmod_module_insert_module(mod, 0, opts); + err = kmod_module_insert_module(mod, flags, opts); if (err < 0) { ERR("could not insert module %s: %s\n", filename, mod_strerror(-err));