summary refs log tree commit diff
diff options
context:
space:
mode:
authorDave Young <dyoung@redhat.com>2012-02-01 10:33:14 +0800
committerRusty Russell <rusty@rustcorp.com.au>2012-03-26 12:50:50 +1030
commit02608bef8f774c058779546926889a2f2717a499 (patch)
treefdbdd5918c0d9a9f142c6c88535a2b18f13ce02c
parente22057c8599373e5caef0bc42bdb95d2a361ab0d (diff)
downloadlinux-02608bef8f774c058779546926889a2f2717a499.tar.gz
module: add kernel param to force disable module load
Sometimes we need to test a kernel of same version with code or config
option changes.

We already have sysctl to disable module load, but add a kernel
parameter will be more convenient.

Since modules_disabled is int, so here use bint type in core_param.
TODO: make sysctl accept bool and change modules_disabled to bool

Signed-off-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r--Documentation/kernel-parameters.txt2
-rw-r--r--kernel/module.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 58eac231fe69..e2f8c297a8a4 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1869,6 +1869,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 			shutdown the other cpus.  Instead use the REBOOT_VECTOR
 			irq.
 
+	nomodule	Disable module load
+
 	nopat		[X86] Disable PAT (page attribute table extension of
 			pagetables) support.
 
diff --git a/kernel/module.c b/kernel/module.c
index 2c932760fd33..7e31da9750c0 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -105,6 +105,7 @@ struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */
 
 /* Block module loading/unloading? */
 int modules_disabled = 0;
+core_param(nomodule, modules_disabled, bint, 0);
 
 /* Waiting for a module to finish initializing? */
 static DECLARE_WAIT_QUEUE_HEAD(module_wq);