tools/modprobe: Fix odd --remove-holders behavior

--remove-holders was not implying --remove, which means that if the user
called `modprobe --remove-holders xe` it would actually try to insert
the xe module. Fix it and spell it out in the man page about one option
implying the other.

Considering i915 is not currently loaded:

Before:
	kmod $ ./build/modprobe -v --dry-run --remove-holders i915
	insmod /lib/modules/6.14.11-1-MANJARO/kernel/drivers/char/agp/intel-gtt.ko.zst
	insmod /lib/modules/6.14.11-1-MANJARO/kernel/drivers/gpu/drm/i915/i915.ko.zst
	kmod $

After:
	kmod $ ./build/modprobe -v --dry-run --remove-holders i915
	kmod $

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/372
This commit is contained in:
Lucas De Marchi 2025-06-13 13:57:08 -05:00
parent 67e677d340
commit 15edeed386
2 changed files with 2 additions and 0 deletions

View File

@ -169,6 +169,7 @@ database.
*--remove-holders*
This option causes *modprobe* to remove the mentioned module(s), alongside
other modules that depend on it/them - aka the reverse dependency list.
This options implies --remove.
For compatibility reasons *--remove-dependencies* is also accepted for
this option but will be removed after kmod 36.

View File

@ -827,6 +827,7 @@ static int do_modprobe(int argc, char **orig_argv)
/* fall through */
case 5:
remove_holders = 1;
do_remove = 1;
break;
case 'w': {
char *endptr = NULL;