diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2019-11-28 08:47:36 +0000 |
---|---|---|
committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2019-11-28 08:47:36 +0000 |
commit | c2a8682ae8f6227ad7e2adb2dfb2c9236c9ce171 (patch) | |
tree | 384147fb185e8ab42e72aecf36645c9ca4500782 /sys/kern/kern_linker.c | |
parent | 584061b4807c5e1b03c10107730ab45e9f5e65d7 (diff) | |
download | src-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.c | 6 |
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); |