Author: hselasky
Date: Tue Nov 26 12:20:44 2019
New Revision: 355108
URL: https://svnweb.freebsd.org/changeset/base/355108

Log:
  Fix panic when loading kernel modules before root file system is mounted.
  Make sure the rootvnode is always NULL checked.
  
  Differential Revision:        https://reviews.freebsd.org/D22545
  PR:           241639
  MFC after:    1 week
  Sponsored by: Mellanox Technologies

Modified:
  head/sys/kern/kern_linker.c

Modified: head/sys/kern/kern_linker.c
==============================================================================
--- head/sys/kern/kern_linker.c Tue Nov 26 05:54:25 2019        (r355107)
+++ head/sys/kern/kern_linker.c Tue Nov 26 12:20:44 2019        (r355108)
@@ -2079,14 +2079,16 @@ linker_load_module(const char *kldname, const char *mo
                 */
                KASSERT(verinfo == NULL, ("linker_load_module: verinfo"
                    " is not NULL"));
+               if (rootvnode == NULL)
+                       return (ENXIO);
                pathname = linker_search_kld(kldname);
        } else {
                if (modlist_lookup2(modname, verinfo) != NULL)
                        return (EEXIST);
+               if (rootvnode == NULL)
+                       return (ENXIO);
                if (kldname != NULL)
                        pathname = strdup(kldname, M_LINKER);
-               else if (rootvnode == NULL)
-                       pathname = NULL;
                else
                        /*
                         * Need to find a KLD with required module
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to