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. */

Reply via email to