diff --git a/ccid_host/ccid_main_functionfs.c b/ccid_host/ccid_main_functionfs.c
index 8e95c73..d3e0c3c 100644
--- a/ccid_host/ccid_main_functionfs.c
+++ b/ccid_host/ccid_main_functionfs.c
@@ -506,13 +506,13 @@
 	.send_int = ccid_ops_send_int,
 };
 
-static void *tall_main_ctx;
+void *g_tall_ctx;
 
 static void signal_handler(int signal)
 {
 	switch (signal) {
 	case SIGUSR1:
-		talloc_report_full(tall_main_ctx, stderr);
+		talloc_report_full(g_tall_ctx, stderr);
 		break;
 	}
 }
@@ -523,9 +523,9 @@
 	struct ufunc_handle ufh = (struct ufunc_handle) { 0, };
 	int rc;
 
-	tall_main_ctx = talloc_named_const(NULL, 0, "ccid_main_functionfs");
-	msgb_talloc_ctx_init(tall_main_ctx, 0);
-	osmo_init_logging2(tall_main_ctx, &log_info);
+	g_tall_ctx = talloc_named_const(NULL, 0, "ccid_main_functionfs");
+	msgb_talloc_ctx_init(g_tall_ctx, 0);
+	osmo_init_logging2(g_tall_ctx, &log_info);
 
 	signal(SIGUSR1, &signal_handler);
 
diff --git a/ccid_host/cuart_fsm_test.c b/ccid_host/cuart_fsm_test.c
index 1151b34..5b03bfe 100644
--- a/ccid_host/cuart_fsm_test.c
+++ b/ccid_host/cuart_fsm_test.c
@@ -37,13 +37,13 @@
 	}
 }
 
-static void *tall_main_ctx;
+static void *g_tall_ctx;
 
 static void signal_handler(int signal)
 {
 	switch (signal) {
 	case SIGUSR1:
-		talloc_report_full(tall_main_ctx, stderr);
+		talloc_report_full(g_tall_ctx, stderr);
 		break;
 	}
 }
@@ -54,9 +54,9 @@
 	uint8_t atr[64];
 	int rc;
 
-	tall_main_ctx = talloc_named_const(NULL, 0, "main");
-	msgb_talloc_ctx_init(tall_main_ctx, 0);
-	osmo_init_logging2(tall_main_ctx, &log_info);
+	g_tall_ctx = talloc_named_const(NULL, 0, "main");
+	msgb_talloc_ctx_init(g_tall_ctx, 0);
+	osmo_init_logging2(g_tall_ctx, &log_info);
 	osmo_fsm_log_addr(false);
 
 	signal(SIGUSR1, &signal_handler);
diff --git a/ccid_host/hub_main_functionfs.c b/ccid_host/hub_main_functionfs.c
index c019cde..f350e50 100644
--- a/ccid_host/hub_main_functionfs.c
+++ b/ccid_host/hub_main_functionfs.c
@@ -464,13 +464,13 @@
 	.num_cat = ARRAY_SIZE(log_info_cat),
 };
 
-static void *tall_main_ctx;
+static void *g_tall_ctx;
 
 static void signal_handler(int signal)
 {
 	switch (signal) {
 	case SIGUSR1:
-		talloc_report_full(tall_main_ctx, stderr);
+		talloc_report_full(g_tall_ctx, stderr);
 		break;
 	}
 }
@@ -481,9 +481,9 @@
 	struct ufunc_handle ufh = (struct ufunc_handle) { 0, };
 	int rc;
 
-	tall_main_ctx = talloc_named_const(NULL, 0, "hub_main_functionfs");
-	msgb_talloc_ctx_init(tall_main_ctx, 0);
-	osmo_init_logging2(tall_main_ctx, &log_info);
+	g_tall_ctx = talloc_named_const(NULL, 0, "hub_main_functionfs");
+	msgb_talloc_ctx_init(g_tall_ctx, 0);
+	osmo_init_logging2(g_tall_ctx, &log_info);
 
 	signal(SIGUSR1, &signal_handler);
 
