systemd: upgrade 257.5 -> 257.6

Handles CVE-2025-4598

Rebase patches

(From OE-Core rev: fddfca638818e16bf4d2486f5a5e0bbaaaa0a20f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Marko 2025-06-13 23:46:54 +02:00 committed by Richard Purdie
parent 2837c4ab1d
commit df52422072
9 changed files with 14 additions and 15 deletions

View File

@ -15,7 +15,7 @@ LICENSE:libsystemd = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
SRCREV = "1c93ed4c72a4513d9cefcd1f89d11a9dc828d06c" SRCREV = "00a12c234e2506f5cab683460199575f13c454db"
SRCBRANCH = "v257-stable" SRCBRANCH = "v257-stable"
SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}" SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}"

View File

@ -25,7 +25,7 @@ diff --git a/meson.build b/meson.build
index bffda86845..4146f4beef 100644 index bffda86845..4146f4beef 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -773,6 +773,7 @@ foreach header : ['crypt.h', @@ -770,6 +770,7 @@ foreach header : ['crypt.h',
'linux/ioprio.h', 'linux/ioprio.h',
'linux/memfd.h', 'linux/memfd.h',
'linux/time_types.h', 'linux/time_types.h',

View File

@ -71,7 +71,7 @@ diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c
index 332e8cdfd5..804498127d 100644 index 332e8cdfd5..804498127d 100644
--- a/src/basic/namespace-util.c --- a/src/basic/namespace-util.c
+++ b/src/basic/namespace-util.c +++ b/src/basic/namespace-util.c
@@ -354,12 +354,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) { @@ -359,12 +359,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
freeze(); freeze();
xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
@ -154,7 +154,7 @@ diff --git a/src/core/cgroup.c b/src/core/cgroup.c
index 6933aae54d..ab6fccc0e4 100644 index 6933aae54d..ab6fccc0e4 100644
--- a/src/core/cgroup.c --- a/src/core/cgroup.c
+++ b/src/core/cgroup.c +++ b/src/core/cgroup.c
@@ -5167,7 +5167,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) { @@ -5175,7 +5175,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
if (r < 0) if (r < 0)
return r; return r;
@ -180,7 +180,7 @@ diff --git a/src/core/main.c b/src/core/main.c
index 172742c769..e68ce2a6d8 100644 index 172742c769..e68ce2a6d8 100644
--- a/src/core/main.c --- a/src/core/main.c
+++ b/src/core/main.c +++ b/src/core/main.c
@@ -1812,7 +1812,7 @@ static void initialize_core_pattern(bool skip_setup) { @@ -1826,7 +1826,7 @@ static void initialize_core_pattern(bool skip_setup) {
if (getpid_cached() != 1) if (getpid_cached() != 1)
return; return;
@ -231,7 +231,7 @@ diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-
index 01fa90b1ff..83ab655bf4 100644 index 01fa90b1ff..83ab655bf4 100644
--- a/src/libsystemd/sd-device/sd-device.c --- a/src/libsystemd/sd-device/sd-device.c
+++ b/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c
@@ -2563,7 +2563,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, @@ -2564,7 +2564,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
if (!value) if (!value)
return -ENOMEM; return -ENOMEM;
@ -359,7 +359,7 @@ diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c
index 805503f366..3234a1d76e 100644 index 805503f366..3234a1d76e 100644
--- a/src/shared/coredump-util.c --- a/src/shared/coredump-util.c
+++ b/src/shared/coredump-util.c +++ b/src/shared/coredump-util.c
@@ -173,7 +173,7 @@ void disable_coredumps(void) { @@ -180,7 +180,7 @@ void disable_coredumps(void) {
if (detect_container() > 0) if (detect_container() > 0)
return; return;
@ -372,7 +372,7 @@ diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c
index 1213fdc2c7..4c26e6a4ee 100644 index 1213fdc2c7..4c26e6a4ee 100644
--- a/src/shared/hibernate-util.c --- a/src/shared/hibernate-util.c
+++ b/src/shared/hibernate-util.c +++ b/src/shared/hibernate-util.c
@@ -495,7 +495,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { @@ -498,7 +498,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
/* We write the offset first since it's safer. Note that this file is only available in 4.17+, so /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so
* fail gracefully if it doesn't exist and we're only overwriting it with 0. */ * fail gracefully if it doesn't exist and we're only overwriting it with 0. */
@ -381,7 +381,7 @@ index 1213fdc2c7..4c26e6a4ee 100644
if (r == -ENOENT) { if (r == -ENOENT) {
if (offset != 0) if (offset != 0)
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
@@ -511,7 +511,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { @@ -514,7 +514,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.",
offset_str, device); offset_str, device);

View File

@ -140,7 +140,7 @@ diff --git a/src/shared/userdb.c b/src/shared/userdb.c
index ff83d4bf90..54d36cc706 100644 index ff83d4bf90..54d36cc706 100644
--- a/src/shared/userdb.c --- a/src/shared/userdb.c
+++ b/src/shared/userdb.c +++ b/src/shared/userdb.c
@@ -1041,13 +1041,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { @@ -1042,13 +1042,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
if (gr) { if (gr) {
_cleanup_free_ char *buffer = NULL; _cleanup_free_ char *buffer = NULL;
bool incomplete = false; bool incomplete = false;
@ -157,7 +157,7 @@ index ff83d4bf90..54d36cc706 100644
if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
r = nss_sgrp_for_group(gr, &sgrp, &buffer); r = nss_sgrp_for_group(gr, &sgrp, &buffer);
if (r < 0) { if (r < 0) {
@@ -1060,6 +1062,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { @@ -1061,6 +1063,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
} }
r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);

View File

@ -11,8 +11,8 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- ---
src/basic/errno-util.h | 12 ++++++++++-- src/basic/errno-util.h | 10 +++++++++-
1 file changed, 10 insertions(+), 2 deletions(-) 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
index 48b76e4bf7..6e7653e2d9 100644 index 48b76e4bf7..6e7653e2d9 100644
@ -23,9 +23,8 @@ index 48b76e4bf7..6e7653e2d9 100644
* *
* Note that we use the GNU variant of strerror_r() here. */ * Note that we use the GNU variant of strerror_r() here. */
-#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN) -#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN)
-
+static inline const char * STRERROR(int errnum); +static inline const char * STRERROR(int errnum);
+
+static inline const char * STRERROR(int errnum) { +static inline const char * STRERROR(int errnum) {
+#ifdef __GLIBC__ +#ifdef __GLIBC__
+ return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN); + return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN);