Page MenuHomeFreeBSD

D22571.diff
No OneTemporary

D22571.diff

Index: head/sys/kern/kern_linker.c
===================================================================
--- head/sys/kern/kern_linker.c
+++ head/sys/kern/kern_linker.c
@@ -2079,13 +2079,15 @@
*/
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);
Index: head/sys/kern/subr_firmware.c
===================================================================
--- head/sys/kern/subr_firmware.c
+++ head/sys/kern/subr_firmware.c
@@ -257,7 +257,6 @@
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 @@
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",

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 25, 10:24 AM (19 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37203814
Default Alt Text
D22571.diff (1 KB)

Event Timeline