svn commit: r355170 - head/sys/kern
Hans Petter Selasky
hselasky at FreeBSD.org
Thu Nov 28 08:47:37 UTC 2019
Author: hselasky
Date: Thu Nov 28 08:47:36 2019
New Revision: 355170
URL: https://svnweb.freebsd.org/changeset/base/355170
Log:
Factor out check for mounted root file system.
Differential Revision: https://reviews.freebsd.org/D22571
PR: 241639
MFC after: 1 week
Sponsored by: Mellanox Technologies
Modified:
head/sys/kern/kern_linker.c
head/sys/kern/subr_firmware.c
Modified: head/sys/kern/kern_linker.c
==============================================================================
--- head/sys/kern/kern_linker.c Thu Nov 28 07:49:25 2019 (r355169)
+++ head/sys/kern/kern_linker.c Thu Nov 28 08:47:36 2019 (r355170)
@@ -2079,13 +2079,15 @@ linker_load_module(const char *kldname, const char *mo
*/
KASSERT(verinfo == NULL, ("linker_load_module: verinfo"
" is not NULL"));
- if (rootvnode == NULL)
+ /* check if root file system is not mounted */
+ if (rootvnode == NULL || curproc->p_fd->fd_rdir == NULL)
return (ENXIO);
pathname = linker_search_kld(kldname);
} else {
if (modlist_lookup2(modname, verinfo) != NULL)
return (EEXIST);
- if (rootvnode == NULL)
+ /* check if root file system is not mounted */
+ if (rootvnode == NULL || curproc->p_fd->fd_rdir == NULL)
return (ENXIO);
if (kldname != NULL)
pathname = strdup(kldname, M_LINKER);
Modified: head/sys/kern/subr_firmware.c
==============================================================================
--- head/sys/kern/subr_firmware.c Thu Nov 28 07:49:25 2019 (r355169)
+++ head/sys/kern/subr_firmware.c Thu Nov 28 08:47:36 2019 (r355170)
@@ -257,7 +257,6 @@ firmware_unregister(const char *imagename)
static void
loadimage(void *arg, int npending)
{
- struct thread *td = curthread;
char *imagename = arg;
struct priv_fw *fp;
linker_file_t result;
@@ -267,11 +266,6 @@ loadimage(void *arg, int npending)
mtx_lock(&firmware_mtx);
mtx_unlock(&firmware_mtx);
- if (td->td_proc->p_fd->fd_rdir == NULL) {
- printf("%s: root not mounted yet, no way to load image\n",
- imagename);
- goto done;
- }
error = linker_reference_module(imagename, NULL, &result);
if (error != 0) {
printf("%s: could not load firmware image, error %d\n",
More information about the svn-src-all
mailing list