mirror of
https://github.com/opnsense/src.git
synced 2026-04-10 20:06:42 -04:00
loaded as a dependency and marked -z nodlopen, object' DAG is already initialized by load_needed_objects(). Due to this, the init_dag() call from dlopen() does not increment refcount for the object [1]. Change init_dag() to not increment DAG refcount. Require explicit calls to ref_dag() to increment, and assert that ref_dag() and unref_dag() are called for root that has dag initialized. To fix the noted issue, unconditionally call both init_dag() and ref_dag() in dlopen() for the case when the object was already loaded, making it similar to the case of newly loaded object. Noted by: jh [1] Reviewed by: jh, kan MFC after: 6 days |
||
|---|---|---|
| .. | ||
| amd64 | ||
| arm | ||
| i386 | ||
| ia64 | ||
| mips | ||
| powerpc | ||
| powerpc64 | ||
| sparc64 | ||
| debug.c | ||
| debug.h | ||
| libmap.c | ||
| libmap.h | ||
| Makefile | ||
| malloc.c | ||
| map_object.c | ||
| rtld.1 | ||
| rtld.c | ||
| rtld.h | ||
| rtld_lock.c | ||
| rtld_lock.h | ||
| rtld_tls.h | ||
| Symbol.map | ||
| xmalloc.c | ||