]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
testsuite: test-modprobe: modprobe with blacklist
authorJakub Ślepecki <jakub.slepecki@intel.com>
Fri, 20 Jun 2025 15:59:01 +0000 (17:59 +0200)
committerLucas De Marchi <demarchi@kernel.org>
Mon, 10 Aug 2026 13:42:07 +0000 (08:42 -0500)
Until now blacklist command was only covered by test-blacklist at
libkmod interface level. A regular user will usually interact with it
via modprobe(8). This commit adds tests for modprobe, alias filtering,
and -b option. It is also intended as an example of -b usage.

Co-authored-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
Signed-off-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
Signed-off-by: Jakub Ślepecki <jakub.slepecki@intel.com>
Link: https://github.com/kmod-project/kmod/pull/312
Signed-off-by: Lucas De Marchi <demarchi@kernel.org>
43 files changed:
scripts/setup-rootfs.sh
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/etc/modprobe.d/blacklist.conf [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.alias [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.alias.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.builtin.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.dep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.dep.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.devname [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.softdep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.symbols [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.symbols.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/etc/modprobe.d/blacklist.conf [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.alias [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.alias.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.builtin.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.dep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.dep.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.devname [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.softdep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.symbols [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.symbols.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/etc/modprobe.d/blacklist.conf [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.alias [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.alias.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.builtin.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.dep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.dep.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.devname [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.softdep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.symbols [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.symbols.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/etc/modprobe.d/blacklist.conf [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.alias [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.alias.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.builtin.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.dep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.dep.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.devname [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.softdep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.symbols [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.symbols.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/blacklist/sys/module/.gitignore [new file with mode: 0644]
testsuite/test-modprobe.c

index f0d232ab58b5f1b7b0af3a76947cb2fea70ae5db..07e3369cf4f79a1cfcdc4e7576fb9a09522e2aed 100755 (executable)
@@ -103,6 +103,14 @@ map=(
     ["test-modprobe/external/lib/modules/external/"]="mod-simple.ko"
     ["test-modprobe/module-from-abspath/home/foo/"]="mod-simple.ko"
     ["test-modprobe/module-from-relpath/home/foo/"]="mod-simple.ko"
+    ["test-modprobe/blacklist$MODULE_DIRECTORY/4.4.4/kernel/"]="mod-simple.ko"
+    ["test-modprobe/blacklist-dep$MODULE_DIRECTORY/4.4.4/kernel/mod-foo-a.ko"]="mod-foo-a.ko"
+    ["test-modprobe/blacklist-dep$MODULE_DIRECTORY/4.4.4/kernel/mod-foo-b.ko"]="mod-foo-b.ko"
+    ["test-modprobe/blacklist-dep$MODULE_DIRECTORY/4.4.4/kernel/mod-foo-c.ko"]="mod-foo-c.ko"
+    ["test-modprobe/blacklist-dep$MODULE_DIRECTORY/4.4.4/kernel/mod-foo.ko"]="mod-foo.ko"
+    ["test-modprobe/blacklist-loaded$MODULE_DIRECTORY/4.4.4/kernel/"]="mod-simple.ko"
+    ["test-modprobe/blacklist-softdep$MODULE_DIRECTORY/4.4.4/kernel/mod-foo-a.ko"]="mod-foo-a.ko"
+    ["test-modprobe/blacklist-softdep$MODULE_DIRECTORY/4.4.4/kernel/mod-simple.ko"]="mod-simple.ko"
     ["test-depmod/modules-order-compressed$MODULE_DIRECTORY/4.4.4/kernel/drivers/block/cciss.ko"]="mod-fake-cciss.ko"
     ["test-depmod/modules-order-compressed$MODULE_DIRECTORY/4.4.4/kernel/drivers/scsi/hpsa.ko"]="mod-fake-hpsa.ko"
     ["test-depmod/modules-order-compressed$MODULE_DIRECTORY/4.4.4/kernel/drivers/scsi/scsi_mod.ko"]="mod-fake-scsi-mod.ko"
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/etc/modprobe.d/blacklist.conf b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/etc/modprobe.d/blacklist.conf
new file mode 100644 (file)
index 0000000..6c8daa5
--- /dev/null
@@ -0,0 +1 @@
+blacklist mod-foo-b
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.alias b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.alias
new file mode 100644 (file)
index 0000000..ba76e18
--- /dev/null
@@ -0,0 +1 @@
+# Aliases extracted from modules themselves.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.alias.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.alias.bin
new file mode 100644 (file)
index 0000000..7075435
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.alias.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.builtin.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.builtin.bin
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.dep b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.dep
new file mode 100644 (file)
index 0000000..eac8ce3
--- /dev/null
@@ -0,0 +1,4 @@
+kernel/mod-foo-b.ko:
+kernel/mod-foo-c.ko:
+kernel/mod-foo-a.ko:
+kernel/mod-foo.ko: kernel/mod-foo-b.ko kernel/mod-foo-a.ko kernel/mod-foo-c.ko
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.dep.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.dep.bin
new file mode 100644 (file)
index 0000000..dce33e5
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.dep.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.devname b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.devname
new file mode 100644 (file)
index 0000000..58f6d6d
--- /dev/null
@@ -0,0 +1 @@
+# Device nodes to trigger on-demand module loading.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.softdep b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.softdep
new file mode 100644 (file)
index 0000000..5554ccc
--- /dev/null
@@ -0,0 +1 @@
+# Soft dependencies extracted from modules themselves.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.symbols b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.symbols
new file mode 100644 (file)
index 0000000..ddb6ab6
--- /dev/null
@@ -0,0 +1,4 @@
+# Aliases for symbols, used by symbol_request().
+alias symbol:print_fooA mod_foo_a
+alias symbol:print_fooC mod_foo_c
+alias symbol:print_fooB mod_foo_b
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.symbols.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.symbols.bin
new file mode 100644 (file)
index 0000000..94e7c57
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-dep/lib/modules/4.4.4/modules.symbols.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/etc/modprobe.d/blacklist.conf b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/etc/modprobe.d/blacklist.conf
new file mode 100644 (file)
index 0000000..9d1ecab
--- /dev/null
@@ -0,0 +1,2 @@
+alias simple.* mod-simple
+blacklist mod-simple
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.alias b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.alias
new file mode 100644 (file)
index 0000000..ba76e18
--- /dev/null
@@ -0,0 +1 @@
+# Aliases extracted from modules themselves.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.alias.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.alias.bin
new file mode 100644 (file)
index 0000000..7075435
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.alias.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.builtin.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.builtin.bin
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.dep b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.dep
new file mode 100644 (file)
index 0000000..5476653
--- /dev/null
@@ -0,0 +1 @@
+kernel/mod-simple.ko:
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.dep.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.dep.bin
new file mode 100644 (file)
index 0000000..b09a854
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.dep.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.devname b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.devname
new file mode 100644 (file)
index 0000000..58f6d6d
--- /dev/null
@@ -0,0 +1 @@
+# Device nodes to trigger on-demand module loading.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.softdep b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.softdep
new file mode 100644 (file)
index 0000000..5554ccc
--- /dev/null
@@ -0,0 +1 @@
+# Soft dependencies extracted from modules themselves.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.symbols b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.symbols
new file mode 100644 (file)
index 0000000..618c345
--- /dev/null
@@ -0,0 +1 @@
+# Aliases for symbols, used by symbol_request().
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.symbols.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.symbols.bin
new file mode 100644 (file)
index 0000000..7075435
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-loaded/lib/modules/4.4.4/modules.symbols.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/etc/modprobe.d/blacklist.conf b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/etc/modprobe.d/blacklist.conf
new file mode 100644 (file)
index 0000000..760a761
--- /dev/null
@@ -0,0 +1,2 @@
+softdep mod-simple pre: mod-foo-a
+blacklist mod-foo-a
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.alias b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.alias
new file mode 100644 (file)
index 0000000..ba76e18
--- /dev/null
@@ -0,0 +1 @@
+# Aliases extracted from modules themselves.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.alias.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.alias.bin
new file mode 100644 (file)
index 0000000..7075435
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.alias.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.builtin.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.builtin.bin
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.dep b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.dep
new file mode 100644 (file)
index 0000000..3e721e1
--- /dev/null
@@ -0,0 +1,2 @@
+kernel/mod-foo-a.ko:
+kernel/mod-simple.ko:
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.dep.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.dep.bin
new file mode 100644 (file)
index 0000000..8a97d83
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.dep.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.devname b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.devname
new file mode 100644 (file)
index 0000000..58f6d6d
--- /dev/null
@@ -0,0 +1 @@
+# Device nodes to trigger on-demand module loading.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.softdep b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.softdep
new file mode 100644 (file)
index 0000000..5554ccc
--- /dev/null
@@ -0,0 +1 @@
+# Soft dependencies extracted from modules themselves.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.symbols b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.symbols
new file mode 100644 (file)
index 0000000..8fdc29a
--- /dev/null
@@ -0,0 +1,2 @@
+# Aliases for symbols, used by symbol_request().
+alias symbol:print_fooA mod_foo_a
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.symbols.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.symbols.bin
new file mode 100644 (file)
index 0000000..fa07e2c
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist-softdep/lib/modules/4.4.4/modules.symbols.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/etc/modprobe.d/blacklist.conf b/testsuite/rootfs-pristine/test-modprobe/blacklist/etc/modprobe.d/blacklist.conf
new file mode 100644 (file)
index 0000000..9d1ecab
--- /dev/null
@@ -0,0 +1,2 @@
+alias simple.* mod-simple
+blacklist mod-simple
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.alias b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.alias
new file mode 100644 (file)
index 0000000..ba76e18
--- /dev/null
@@ -0,0 +1 @@
+# Aliases extracted from modules themselves.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.alias.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.alias.bin
new file mode 100644 (file)
index 0000000..7075435
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.alias.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.builtin.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.builtin.bin
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.dep b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.dep
new file mode 100644 (file)
index 0000000..5476653
--- /dev/null
@@ -0,0 +1 @@
+kernel/mod-simple.ko:
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.dep.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.dep.bin
new file mode 100644 (file)
index 0000000..b09a854
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.dep.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.devname b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.devname
new file mode 100644 (file)
index 0000000..58f6d6d
--- /dev/null
@@ -0,0 +1 @@
+# Device nodes to trigger on-demand module loading.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.softdep b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.softdep
new file mode 100644 (file)
index 0000000..5554ccc
--- /dev/null
@@ -0,0 +1 @@
+# Soft dependencies extracted from modules themselves.
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.symbols b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.symbols
new file mode 100644 (file)
index 0000000..618c345
--- /dev/null
@@ -0,0 +1 @@
+# Aliases for symbols, used by symbol_request().
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.symbols.bin b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.symbols.bin
new file mode 100644 (file)
index 0000000..7075435
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/blacklist/lib/modules/4.4.4/modules.symbols.bin differ
diff --git a/testsuite/rootfs-pristine/test-modprobe/blacklist/sys/module/.gitignore b/testsuite/rootfs-pristine/test-modprobe/blacklist/sys/module/.gitignore
new file mode 100644 (file)
index 0000000..e69de29
index 6b62644ae56ad76e031e70dfa8fa697110b64e82..7a3cd4f88d8d8dfbc92fa53be79ce5b37c058232 100644 (file)
@@ -421,4 +421,76 @@ DEFINE_TEST(modprobe_module_from_relpath,
        .modules_loaded = "mod-simple",
        );
 
+static int modprobe_blacklisted_by_alias(void)
+{
+       return EXEC_TOOL(modprobe, "simple.abc");
+}
+DEFINE_TEST(modprobe_blacklisted_by_alias,
+       .description = "check if modprobe alias does not load module with blacklist entry",
+       .config = {
+               [TC_UNAME_R] = "4.4.4",
+               [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/blacklist",
+               [TC_INIT_MODULE_RETCODES] = "",
+       },
+       .modules_loaded = "",
+       .modules_not_loaded = "mod-simple",
+       );
+
+static int modprobe_blacklisted_by_name(void)
+{
+       return EXEC_TOOL(modprobe, "mod-simple");
+}
+DEFINE_TEST(modprobe_blacklisted_by_name,
+       .description = "check if modprobe modulename loads module with blacklist entry",
+       .config = {
+               [TC_UNAME_R] = "4.4.4",
+               [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/blacklist-loaded",
+               [TC_INIT_MODULE_RETCODES] = "",
+       },
+       .modules_loaded = "mod-simple",
+       );
+
+static int modprobe_blacklisted_by_name_filtered(void)
+{
+       return EXEC_TOOL(modprobe, "-b", "mod-simple");
+}
+DEFINE_TEST(modprobe_blacklisted_by_name_filtered,
+       .description = "check if modprobe -b modulename does not load module with blacklist entry",
+       .config = {
+               [TC_UNAME_R] = "4.4.4",
+               [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/blacklist",
+               [TC_INIT_MODULE_RETCODES] = "",
+       },
+       .modules_loaded = "",
+       .modules_not_loaded = "mod-simple",
+       );
+
+static int modprobe_blacklisted_dependency(void)
+{
+       return EXEC_TOOL(modprobe, "-b", "mod-foo");
+}
+DEFINE_TEST(modprobe_blacklisted_dependency,
+       .description = "check if modprobe -b dependent ignores blacklist entry of dependency",
+       .config = {
+               [TC_UNAME_R] = "4.4.4",
+               [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/blacklist-dep",
+               [TC_INIT_MODULE_RETCODES] = "",
+       },
+       .modules_loaded = "mod-foo,mod-foo-a,mod-foo-b,mod_foo_c",
+       );
+
+static int modprobe_blacklisted_softdep(void)
+{
+       return EXEC_TOOL(modprobe, "-b", "mod-simple");
+}
+DEFINE_TEST(modprobe_blacklisted_softdep,
+       .description = "check if modprobe -b dependent ignores blacklist entry of softdep",
+       .config = {
+               [TC_UNAME_R] = "4.4.4",
+               [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/blacklist-softdep",
+               [TC_INIT_MODULE_RETCODES] = "",
+       },
+       .modules_loaded = "mod-simple,mod-foo-a",
+       );
+
 TESTSUITE_MAIN();