Index: sys/conf/options =================================================================== RCS file: /export/ncvs/src/sys/conf/options,v retrieving revision 1.191.2.36 diff -u -r1.191.2.36 options --- sys/conf/options 2001/09/15 00:50:35 1.191.2.36 +++ sys/conf/options 2001/10/04 08:21:10 @@ -464,3 +464,6 @@ FDC_DEBUG opt_fdc.h PCFCLOCK_VERBOSE opt_pcfclock.h PCFCLOCK_MAX_RETRIES opt_pcfclock.h + +# Disable loading and unloading of kernel modules +NO_KLD opt_kern_linker.h Index: sys/kern/kern_linker.c =================================================================== RCS file: /export/ncvs/src/sys/kern/kern_linker.c,v retrieving revision 1.41.2.2 diff -u -r1.41.2.2 kern_linker.c --- sys/kern/kern_linker.c 2000/07/16 13:13:32 1.41.2.2 +++ sys/kern/kern_linker.c 2001/10/04 08:10:05 @@ -27,6 +27,7 @@ */ #include "opt_ddb.h" +#include "opt_kern_linker.h" #include #include @@ -648,6 +649,10 @@ int kldload(struct proc* p, struct kldload_args* uap) { +#ifdef NO_KLD + /* Always return error. */ + return EPERM; +#else char* filename = NULL, *modulename; linker_file_t lf; int error = 0; @@ -685,11 +690,16 @@ if (filename) free(filename, M_TEMP); return error; +#endif } int kldunload(struct proc* p, struct kldunload_args* uap) { +#ifdef NO_KLD + /* Always fail. */ + return EPERM; +#else linker_file_t lf; int error = 0; @@ -716,6 +726,7 @@ out: return error; +#endif } int