From: Johannes Berg Date: Thu, 2 May 2013 13:23:28 +0000 (+0200) Subject: modprobe: don't check refcount with remove command X-Git-Tag: v14~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c010f02030003c64faded49ee277b8903b8feb9f;p=thirdparty%2Fkmod.git modprobe: don't check refcount with remove command The modprobe.d (5) documentation for the "install" command states that you could specify install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred This makes some sense, but then the loading of "barney" is hidden from the user who did only "modprobe fred". Thus, it seems it should be possible to be able to unload the "fred" module with "modprobe -r fred" by configuring the "barney" module to also be removed: remove fred /sbin/rmmod barney fred (or similar.) Make this possible by not checking the refcount when an unload command was configured. Reported-by: David Spinadel --- diff --git a/tools/modprobe.c b/tools/modprobe.c index a053efb7..6b34658d 100644 --- a/tools/modprobe.c +++ b/tools/modprobe.c @@ -386,7 +386,7 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies) goto error; } - if (!ignore_loaded) { + if (!ignore_loaded && !cmd) { int usage = kmod_module_get_refcnt(mod); if (usage > 0) {