Module Name: src
Committed By: christos
Date: Tue Apr 11 14:31:55 UTC 2017
Modified Files:
src/sys/kern: kern_module.c
Log Message:
Don't try to autoload modules before root is mounted.
To generate a diff of this commit:
cvs rdiff -u -r1.120 -r1.121 src/sys/kern/kern_module.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/kern_module.c
diff -u src/sys/kern/kern_module.c:1.120 src/sys/kern/kern_module.c:1.121
--- src/sys/kern/kern_module.c:1.120 Tue Jan 31 20:51:07 2017
+++ src/sys/kern/kern_module.c Tue Apr 11 10:31:55 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_module.c,v 1.120 2017/02/01 01:51:07 maya Exp $ */
+/* $NetBSD: kern_module.c,v 1.121 2017/04/11 14:31:55 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_module.c,v 1.120 2017/02/01 01:51:07 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_module.c,v 1.121 2017/04/11 14:31:55 christos Exp $");
#define _MODULE_INTERNAL
@@ -54,6 +54,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_module.
#include <sys/kthread.h>
#include <sys/sysctl.h>
#include <sys/lock.h>
+#include <sys/vnode.h>
#include <uvm/uvm_extern.h>
@@ -608,6 +609,14 @@ module_autoload(const char *filename, mo
{
int error;
+ if (rootvnode == NULL) {
+#ifdef DIAGNOSTIC
+ printf("%s: trying to load `%s' before root is mounted\n",
+ __func__, filename);
+#endif
+ return;
+ }
+
kernconfig_lock();
/* Nothing if the user has disabled it. */