modprobe: fix modprobe -r and parsing of /etc/modprobe.d
authorNatanael Copa <ncopa@alpinelinux.org>
Fri, 16 Jan 2015 12:53:05 +0000 (13:53 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 19 Jan 2015 18:15:24 +0000 (19:15 +0100)
This fixes a regression introduced with commit 78854520 (modprobe:
revert checking for /, stop doing basename() on modprobe args,
2015-01-01) that broke modprobe options stored in /etc/modprobe.conf and
/etc/modprobe.d/*.conf.

This also fixes modprobe -r

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
modutils/modprobe.c

index ce8b0b886f1d73da0cef92a1c7001f37a4754bd2..0e8aa9e85da894e2d98c7ac6011e5b4ca48012dd 100644 (file)
@@ -425,7 +425,7 @@ static int do_modprobe(struct module_entry *m)
 
                rc = 0;
                fn = llist_pop(&m->deps); /* we leak it */
-               m2 = get_or_add_modentry(fn);
+               m2 = get_or_add_modentry(bb_get_last_path_component_nostrip(fn));
 
                if (option_mask32 & OPT_REMOVE) {
                        /* modprobe -r */