Page MenuHomeFreeBSD

D44595.diff
No OneTemporary

D44595.diff

diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -777,12 +777,6 @@
}
TAILQ_REMOVE(&linker_files, file, link);
- if (file->deps) {
- for (i = 0; i < file->ndeps; i++)
- linker_file_unload(file->deps[i], flags);
- free(file->deps, M_LINKER);
- file->deps = NULL;
- }
while ((cp = STAILQ_FIRST(&file->common)) != NULL) {
STAILQ_REMOVE_HEAD(&file->common, link);
free(cp, M_LINKER);
@@ -794,6 +788,12 @@
EVENTHANDLER_INVOKE(kld_unload, file->filename, file->address,
file->size);
+ if (file->deps) {
+ for (i = 0; i < file->ndeps; i++)
+ linker_file_unload(file->deps[i], flags);
+ free(file->deps, M_LINKER);
+ file->deps = NULL;
+ }
if (file->filename) {
free(file->filename, M_LINKER);
file->filename = NULL;

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 21, 7:10 PM (13 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27119702
Default Alt Text
D44595.diff (826 B)

Event Timeline