From: Lennart Poettering Date: Fri, 10 Feb 2023 15:55:06 +0000 (+0100) Subject: util: move mallinfo compat glue from selinux code into generic code X-Git-Tag: v254-rc1~1240 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c56e8d8f41453b02f4ed68388eb3e476a12f4140;p=thirdparty%2Fsystemd.git util: move mallinfo compat glue from selinux code into generic code --- diff --git a/src/basic/mallinfo-util.h b/src/basic/mallinfo-util.h new file mode 100644 index 00000000000..7fa9dd5ecce --- /dev/null +++ b/src/basic/mallinfo-util.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +#include + +#if HAVE_MALLINFO2 +# define HAVE_GENERIC_MALLINFO 1 +typedef struct mallinfo2 generic_mallinfo; +static inline generic_mallinfo generic_mallinfo_get(void) { + return mallinfo2(); +} +#elif HAVE_MALLINFO +# define HAVE_GENERIC_MALLINFO 1 +typedef struct mallinfo generic_mallinfo; +static inline generic_mallinfo generic_mallinfo_get(void) { + /* glibc has deprecated mallinfo(), let's suppress the deprecation warning if mallinfo2() doesn't + * exist yet. */ +DISABLE_WARNING_DEPRECATED_DECLARATIONS + return mallinfo(); +REENABLE_WARNING +} +#else +# define HAVE_GENERIC_MALLINFO 0 +#endif diff --git a/src/shared/selinux-util.c b/src/shared/selinux-util.c index a74883ab81e..cc00a85952c 100644 --- a/src/shared/selinux-util.c +++ b/src/shared/selinux-util.c @@ -2,7 +2,6 @@ #include #include -#include #include #include #include @@ -23,6 +22,7 @@ #include "fd-util.h" #include "log.h" #include "macro.h" +#include "mallinfo-util.h" #include "path-util.h" #include "selinux-util.h" #include "stdio-util.h" @@ -92,26 +92,6 @@ void mac_selinux_retest(void) { } #if HAVE_SELINUX -# if HAVE_MALLINFO2 -# define HAVE_GENERIC_MALLINFO 1 -typedef struct mallinfo2 generic_mallinfo; -static generic_mallinfo generic_mallinfo_get(void) { - return mallinfo2(); -} -# elif HAVE_MALLINFO -# define HAVE_GENERIC_MALLINFO 1 -typedef struct mallinfo generic_mallinfo; -static generic_mallinfo generic_mallinfo_get(void) { - /* glibc has deprecated mallinfo(), let's suppress the deprecation warning if mallinfo2() doesn't - * exist yet. */ -DISABLE_WARNING_DEPRECATED_DECLARATIONS - return mallinfo(); -REENABLE_WARNING -} -# else -# define HAVE_GENERIC_MALLINFO 0 -# endif - static int open_label_db(void) { struct selabel_handle *hnd; usec_t before_timestamp, after_timestamp;