aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_linker.c
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2019-11-28 08:47:36 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2019-11-28 08:47:36 +0000
commitc2a8682ae8f6227ad7e2adb2dfb2c9236c9ce171 (patch)
tree384147fb185e8ab42e72aecf36645c9ca4500782 /sys/kern/kern_linker.c
parent584061b4807c5e1b03c10107730ab45e9f5e65d7 (diff)
downloadsrc-c2a8682ae8f6227ad7e2adb2dfb2c9236c9ce171.tar.gz
src-c2a8682ae8f6227ad7e2adb2dfb2c9236c9ce171.zip
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
Notes
Notes: svn path=/head/; revision=355170
Diffstat (limited to 'sys/kern/kern_linker.c')
-rw-r--r--sys/kern/kern_linker.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index 70a49d7d0f56..682bb9aae0d5 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -2079,13 +2079,15 @@ linker_load_module(const char *kldname, const char *modname,
*/
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);