diff options
author | mux <mux@FreeBSD.org> | 2002-08-02 20:56:07 +0000 |
---|---|---|
committer | mux <mux@FreeBSD.org> | 2002-08-02 20:56:07 +0000 |
commit | a7c11c91eb4e5af89d477fbb8bfd9b7a5d42eaa7 (patch) | |
tree | 97627424d15db9766ee1cd606cc49762644c096f /sys/sys/linker.h | |
parent | 1bd16d78e2a55104eb99d69e442460fe637caab9 (diff) | |
download | FreeBSD-src-a7c11c91eb4e5af89d477fbb8bfd9b7a5d42eaa7.zip FreeBSD-src-a7c11c91eb4e5af89d477fbb8bfd9b7a5d42eaa7.tar.gz |
Make the consumers of the linker_load_file() function use
linker_load_module() instead.
This fixes a bug where the kernel was unable to properly locate and
load a kernel module in vfs_mount() (and probably in the netgraph
code as well since it was using the same function). This is because
the linker_load_file() does not properly search the module path.
Problem found by: peter
Reviewed by: peter
Thanks to: peter
Diffstat (limited to 'sys/sys/linker.h')
-rw-r--r-- | sys/sys/linker.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/sys/linker.h b/sys/sys/linker.h index 3b3edca..0090a5f 100644 --- a/sys/sys/linker.h +++ b/sys/sys/linker.h @@ -105,9 +105,11 @@ extern linker_file_t linker_kernel_file; int linker_add_class(linker_class_t _cls); /* - * Load a file, trying each file class until one succeeds. + * Load a kernel module. */ -int linker_load_file(const char* _filename, linker_file_t* _result); +int linker_load_module(const char *_kldname, const char *_modname, + struct linker_file *_parent, struct mod_depend *_verinfo, + struct linker_file **_lfpp); /* * Obtain a reference to a module, loading it if required. |