From: Dave Young <dyoung@redhat.com>
Subject: add kernel param to force disable module load
Date: Wed, 1 Feb 2012 10:33:14 +0800

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>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 Documentation/kernel-parameters.txt |    2 ++
 kernel/module.c                     |    1 +
 2 files changed, 3 insertions(+)

--- linux-2.6.orig/Documentation/kernel-parameters.txt	2012-01-31 13:07:06.000000000 +0800
+++ linux-2.6/Documentation/kernel-parameters.txt	2012-01-31 13:07:09.393362159 +0800
@@ -1833,6 +1833,8 @@ bytes respectively. Such letter suffixes
 			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.
 
--- linux-2.6.orig/kernel/module.c	2012-01-31 13:07:06.000000000 +0800
+++ linux-2.6/kernel/module.c	2012-01-31 13:07:34.196695573 +0800
@@ -105,6 +105,7 @@ struct list_head *kdb_modules = &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);

