diff options
author | David Goulet <dgoulet@torproject.org> | 2021-02-23 12:27:59 -0500 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2021-02-23 12:27:59 -0500 |
commit | 97e51dd01b228ecb72c912c6cf3ffae6334c8d07 (patch) | |
tree | 2113388c95eb49cdce0c46de2cff2135485401b2 | |
parent | bc21ed32903459c53599ee03605e8d23bf42ffe9 (diff) | |
parent | ad4f87ed3f2126814e42565e2d815e37f99f7c1f (diff) | |
download | tor-97e51dd01b228ecb72c912c6cf3ffae6334c8d07.tar.gz tor-97e51dd01b228ecb72c912c6cf3ffae6334c8d07.zip |
Merge branch 'tor-gitlab/mr/326' into maint-0.4.5
-rw-r--r-- | changes/ticket40309 | 3 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | src/app/main/main.c | 1 | ||||
-rw-r--r-- | src/lib/meminfo/meminfo.c | 23 | ||||
-rw-r--r-- | src/lib/meminfo/meminfo.h | 1 | ||||
-rw-r--r-- | src/test/test_util.c | 52 |
6 files changed, 3 insertions, 78 deletions
diff --git a/changes/ticket40309 b/changes/ticket40309 new file mode 100644 index 0000000000..087ac36a4f --- /dev/null +++ b/changes/ticket40309 @@ -0,0 +1,3 @@ + o New system requirements (mallinfo() deprecated): + - Remove mallinfo() usage entirely. Libc 2.33+ now deprecates it. Closes + ticket 40309. diff --git a/configure.ac b/configure.ac index e8775a98f7..4d91b11cea 100644 --- a/configure.ac +++ b/configure.ac @@ -2143,7 +2143,6 @@ AS_CASE([$malloc], [system], [ # handle this later, including the jemalloc fallback - AC_CHECK_FUNCS(mallinfo) ], [AC_MSG_ERROR([--with-malloc=`$with_malloc' not supported, see --help]) diff --git a/src/app/main/main.c b/src/app/main/main.c index 589d365add..56478a0f71 100644 --- a/src/app/main/main.c +++ b/src/app/main/main.c @@ -323,7 +323,6 @@ dumpmemusage(int severity) dump_routerlist_mem_usage(severity); dump_cell_pool_usage(severity); dump_dns_mem_usage(severity); - tor_log_mallinfo(severity); } /** Write all statistics to the log, with log level <b>severity</b>. Called diff --git a/src/lib/meminfo/meminfo.c b/src/lib/meminfo/meminfo.c index 0c5e0ed665..b7d991e410 100644 --- a/src/lib/meminfo/meminfo.c +++ b/src/lib/meminfo/meminfo.c @@ -37,29 +37,6 @@ #include <sys/sysctl.h> #endif -DISABLE_GCC_WARNING("-Waggregate-return") -/** Call the platform malloc info function, and dump the results to the log at - * level <b>severity</b>. If no such function exists, do nothing. */ -void -tor_log_mallinfo(int severity) -{ -#ifdef HAVE_MALLINFO - struct mallinfo mi; - memset(&mi, 0, sizeof(mi)); - mi = mallinfo(); - tor_log(severity, LD_MM, - "mallinfo() said: arena=%d, ordblks=%d, smblks=%d, hblks=%d, " - "hblkhd=%d, usmblks=%d, fsmblks=%d, uordblks=%d, fordblks=%d, " - "keepcost=%d", - mi.arena, mi.ordblks, mi.smblks, mi.hblks, - mi.hblkhd, mi.usmblks, mi.fsmblks, mi.uordblks, mi.fordblks, - mi.keepcost); -#else /* !defined(HAVE_MALLINFO) */ - (void)severity; -#endif /* defined(HAVE_MALLINFO) */ -} -ENABLE_GCC_WARNING("-Waggregate-return") - #if defined(HW_PHYSMEM64) /* OpenBSD and NetBSD define this */ #define INT64_HW_MEM HW_PHYSMEM64 diff --git a/src/lib/meminfo/meminfo.h b/src/lib/meminfo/meminfo.h index a5ebfd5a6a..36a85c133d 100644 --- a/src/lib/meminfo/meminfo.h +++ b/src/lib/meminfo/meminfo.h @@ -15,7 +15,6 @@ #include "lib/testsupport/testsupport.h" #include <stddef.h> -void tor_log_mallinfo(int severity); MOCK_DECL(int, get_total_system_memory, (size_t *mem_out)); #endif /* !defined(TOR_MEMINFO_H) */ diff --git a/src/test/test_util.c b/src/test/test_util.c index b3a1e2caca..d43bf781f2 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -6775,57 +6775,6 @@ test_util_get_unquoted_path(void *arg) } static void -test_util_log_mallinfo(void *arg) -{ - (void)arg; - char *log1 = NULL, *log2 = NULL, *mem = NULL; -#ifdef HAVE_MALLINFO - setup_capture_of_logs(LOG_INFO); - tor_log_mallinfo(LOG_INFO); - expect_single_log_msg_containing("mallinfo() said: "); - mock_saved_log_entry_t *lg = smartlist_get(mock_saved_logs(), 0); - log1 = tor_strdup(lg->generated_msg); - - mock_clean_saved_logs(); - mem = tor_malloc(8192); - tor_log_mallinfo(LOG_INFO); - expect_single_log_msg_containing("mallinfo() said: "); - lg = smartlist_get(mock_saved_logs(), 0); - log2 = tor_strdup(lg->generated_msg); - - /* Make sure that the amount of used memory increased. */ - const char *used1 = strstr(log1, "uordblks="); - const char *used2 = strstr(log2, "uordblks="); - tt_assert(used1); - tt_assert(used2); - used1 += strlen("uordblks="); - used2 += strlen("uordblks="); - - int ok1, ok2; - char *next1 = NULL, *next2 = NULL; - uint64_t mem1 = tor_parse_uint64(used1, 10, 0, UINT64_MAX, &ok1, &next1); - uint64_t mem2 = tor_parse_uint64(used2, 10, 0, UINT64_MAX, &ok2, &next2); - tt_assert(ok1); - tt_assert(ok2); - tt_assert(next1); - tt_assert(next2); - if (mem2 == 0) { - /* This is a fake mallinfo that doesn't actually fill in its outputs. */ - tt_u64_op(mem1, OP_EQ, 0); - } else { - tt_u64_op(mem1, OP_LT, mem2); - } -#else /* !defined(HAVE_MALLINFO) */ - tt_skip(); -#endif /* defined(HAVE_MALLINFO) */ - done: - teardown_capture_of_logs(); - tor_free(log1); - tor_free(log2); - tor_free(mem); -} - -static void test_util_map_anon(void *arg) { (void)arg; @@ -7096,7 +7045,6 @@ struct testcase_t util_tests[] = { UTIL_TEST(monotonic_time_add_msec, 0), UTIL_TEST(htonll, 0), UTIL_TEST(get_unquoted_path, 0), - UTIL_TEST(log_mallinfo, 0), UTIL_TEST(map_anon, 0), UTIL_TEST(map_anon_nofork, 0), END_OF_TESTCASES |