move msgb talloc context into talloc_ctx.c
This keeps the ordering right, independent of link ordering, it
will ensure that the talloc dump will also catch msgb related
memory leaks.
diff --git a/openbsc/src/msgb.c b/openbsc/src/msgb.c
index 48a5a7b..9f2fcfa 100644
--- a/openbsc/src/msgb.c
+++ b/openbsc/src/msgb.c
@@ -28,7 +28,7 @@
#include <openbsc/talloc.h>
#include <openbsc/debug.h>
-static void *tall_msgb_ctx;
+void *tall_msgb_ctx;
struct msgb *msgb_alloc(u_int16_t size, const char *name)
{
@@ -96,8 +96,3 @@
msg->l3h = NULL;
msg->smsh = NULL;
}
-
-static __attribute__((constructor)) void on_dso_load_trau_msgb(void)
-{
- tall_msgb_ctx = talloc_named_const(tall_bsc_ctx, 1, "msgb");
-}
diff --git a/openbsc/src/talloc_ctx.c b/openbsc/src/talloc_ctx.c
index aa9f0b4..e90677b 100644
--- a/openbsc/src/talloc_ctx.c
+++ b/openbsc/src/talloc_ctx.c
@@ -1,6 +1,7 @@
#include <openbsc/talloc.h>
#include <openbsc/gsm_data.h>
+extern void *tall_msgb_ctx;
extern void *tall_fle_ctx;
extern void *tall_locop_ctx;
extern void *tall_gsms_ctx;
@@ -16,6 +17,7 @@
void talloc_ctx_init(void)
{
+ tall_msgb_ctx = talloc_named_const(tall_bsc_ctx, 0, "msgb");
tall_fle_ctx = talloc_named_const(tall_bsc_ctx, 0,
"bs11_file_list_entry");
tall_locop_ctx = talloc_named_const(tall_bsc_ctx, 0, "loc_updating_oper");