commit: 241570c597a6878e55f3e40ea357dfb3120b7599 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sat Apr 30 00:30:00 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Apr 30 00:30:21 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=241570c5
sys-apps/systemd: drop FORTIFY_SOURCE=3 patch for now May cause runtime issues for some without using FORTIFY_SOURCE? (Not seen this myself but let's be safe.) Note that reported issue is only w/ GCC 12 anyway which is not yet released. Bug: https://bugs.gentoo.org/841770 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/250.4-fortify-source-3-malloc.patch | 42 ---------------------- ...emd-250.4-r1.ebuild => systemd-250.4-r2.ebuild} | 1 - ...ystemd-250.5.ebuild => systemd-250.5-r1.ebuild} | 1 - 3 files changed, 44 deletions(-) diff --git a/sys-apps/systemd/files/250.4-fortify-source-3-malloc.patch b/sys-apps/systemd/files/250.4-fortify-source-3-malloc.patch deleted file mode 100644 index ed9eb80f21fa..000000000000 --- a/sys-apps/systemd/files/250.4-fortify-source-3-malloc.patch +++ /dev/null @@ -1,42 +0,0 @@ -https://github.com/systemd/systemd/commit/0bd292567a543d124cd303f7dd61169a209cae64 - -From 0bd292567a543d124cd303f7dd61169a209cae64 Mon Sep 17 00:00:00 2001 -From: Martin Liska <[email protected]> -Date: Thu, 31 Mar 2022 10:27:45 +0200 -Subject: [PATCH] Support -D_FORTIFY_SOURCE=3 by using - __builtin_dynamic_object_size. - -As explained in the issue, -D_FORTIFY_SOURCE=3 requires usage -of __builtin_dynamic_object_size in MALLOC_SIZEOF_SAFE macro. - -Fixes: #22801 ---- a/src/basic/alloc-util.h -+++ b/src/basic/alloc-util.h -@@ -174,13 +174,23 @@ void* greedy_realloc0(void **p, size_t need, size_t size); - * is compatible with _FORTIFY_SOURCES. If _FORTIFY_SOURCES is used many memory operations will take the - * object size as returned by __builtin_object_size() into account. Hence, let's return the smaller size of - * malloc_usable_size() and __builtin_object_size() here, so that we definitely operate in safe territory by -- * both the compiler's and libc's standards. Note that __builtin_object_size() evaluates to SIZE_MAX if the -- * size cannot be determined, hence the MIN() expression should be safe with dynamically sized memory, -- * too. Moreover, when NULL is passed malloc_usable_size() is documented to return zero, and -+ * both the compiler's and libc's standards. Note that _FORTIFY_SOURCES=3 handles also dynamically allocated -+ * objects and thus it's safer using __builtin_dynamic_object_size if _FORTIFY_SOURCES=3 is used (#22801). -+ * Moreover, when NULL is passed malloc_usable_size() is documented to return zero, and - * __builtin_object_size() returns SIZE_MAX too, hence we also return a sensible value of 0 in this corner - * case. */ -+ -+#if defined __has_builtin -+# if __has_builtin(__builtin_dynamic_object_size) -+# define MALLOC_SIZEOF_SAFE(x) \ -+ MIN(malloc_usable_size(x), __builtin_dynamic_object_size(x, 0)) -+# endif -+#endif -+ -+#ifndef MALLOC_SIZEOF_SAFE - #define MALLOC_SIZEOF_SAFE(x) \ - MIN(malloc_usable_size(x), __builtin_object_size(x, 0)) -+#endif - - /* Inspired by ELEMENTSOF() but operates on malloc()'ed memory areas: typesafely returns the number of items - * that fit into the specified memory block */ - diff --git a/sys-apps/systemd/systemd-250.4-r1.ebuild b/sys-apps/systemd/systemd-250.4-r2.ebuild similarity index 99% rename from sys-apps/systemd/systemd-250.4-r1.ebuild rename to sys-apps/systemd/systemd-250.4-r2.ebuild index 8b3ea6a36203..270bfe1cff71 100644 --- a/sys-apps/systemd/systemd-250.4-r1.ebuild +++ b/sys-apps/systemd/systemd-250.4-r2.ebuild @@ -244,7 +244,6 @@ src_prepare() { # Add local patches here PATCHES+=( "${FILESDIR}/250.4-random-seed-hash.patch" - "${FILESDIR}/250.4-fortify-source-3-malloc.patch" ) if ! use vanilla; then diff --git a/sys-apps/systemd/systemd-250.5.ebuild b/sys-apps/systemd/systemd-250.5-r1.ebuild similarity index 99% rename from sys-apps/systemd/systemd-250.5.ebuild rename to sys-apps/systemd/systemd-250.5-r1.ebuild index 1b51f0304d78..f5f763e60f72 100644 --- a/sys-apps/systemd/systemd-250.5.ebuild +++ b/sys-apps/systemd/systemd-250.5-r1.ebuild @@ -243,7 +243,6 @@ src_prepare() { # Add local patches here PATCHES+=( - "${FILESDIR}/250.4-fortify-source-3-malloc.patch" ) if ! use vanilla; then
