diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/vfs_mount.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index e489d80..9253aff 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1357,6 +1357,9 @@ root_mount_hold(const char *identifier) { struct root_hold_token *h; + if (root_mounted()) + return (NULL); + h = malloc(sizeof *h, M_DEVBUF, M_ZERO | M_WAITOK); h->who = identifier; mtx_lock(&mountlist_mtx); @@ -1372,6 +1375,8 @@ void root_mount_rel(struct root_hold_token *h) { + if (h == NULL) + return; mtx_lock(&mountlist_mtx); LIST_REMOVE(h, list); wakeup(&root_holds); |