Package: release.debian.org Severity: normal Tags: bookworm User: release.debian.org@packages.debian.org Usertags: pu X-Debbugs-Cc: pkg-systemd-maintainers@lists.alioth.debian.org Dear Release Team, We would like to upload the latest stable point release of systemd 252 to bookworm-p-u. Stable release branches are maintained upstream with the intention of providing bug fixes only and no compatibility breakages, and with automated non-trivial CI jobs that also cover Debian and Ubuntu. I have already uploaded to p-u. There are no packaging changes. Debdiff attached. The debdiff excludes hwdb generated IDs. The list of commits included can be seen at: https://github.com/systemd/systemd-stable/compare/v252.32...v252.33
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/debian/changelog systemd-252.33/debian/changelog --- systemd-252.32/debian/changelog 2024-11-16 18:35:32.000000000 +0000 +++ systemd-252.33/debian/changelog 2024-12-01 13:28:27.000000000 +0000 @@ -1,3 +1,9 @@ +systemd (252.33-1~deb12u1) bookworm; urgency=medium + + * New upstream version 252.33 + + -- Luca Boccassi <bluca@debian.org> Sun, 01 Dec 2024 13:28:27 +0000 + systemd (252.32-1~deb12u1) bookworm; urgency=medium * New upstream version 252.32 diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/man/daemon.xml systemd-252.33/man/daemon.xml --- systemd-252.32/man/daemon.xml 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/man/daemon.xml 2024-12-01 13:25:05.000000000 +0000 @@ -716,6 +716,15 @@ </refsect1> <refsect1> + <title>Notes</title> + + <para> + All example codes in this page are licensed under <literal>MIT No Attribution</literal> + (SPDX-License-Identifier: MIT-0). + </para> + </refsect1> + + <refsect1> <title>See Also</title> <para> <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/man/kernel-command-line.xml systemd-252.33/man/kernel-command-line.xml --- systemd-252.32/man/kernel-command-line.xml 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/man/kernel-command-line.xml 2024-12-01 13:25:05.000000000 +0000 @@ -361,7 +361,7 @@ <term><varname>rd.systemd.verity=</varname></term> <term><varname>systemd.verity_root_data=</varname></term> <term><varname>systemd.verity_root_hash=</varname></term> - <term><varname>systemd.verity.root_options=</varname></term> + <term><varname>systemd.verity_root_options=</varname></term> <term><varname>usrhash=</varname></term> <term><varname>systemd.verity_usr_data=</varname></term> <term><varname>systemd.verity_usr_hash=</varname></term> diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/man/org.freedesktop.login1.xml systemd-252.33/man/org.freedesktop.login1.xml --- systemd-252.32/man/org.freedesktop.login1.xml 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/man/org.freedesktop.login1.xml 2024-12-01 13:25:05.000000000 +0000 @@ -79,7 +79,6 @@ out s seat_id, out u vtnr, out b existing); - @org.freedesktop.systemd1.Privileged("true") ReleaseSession(in s session_id); ActivateSession(in s session_id); ActivateSessionOnSeat(in s session_id, diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/core/execute.c systemd-252.33/src/core/execute.c --- systemd-252.32/src/core/execute.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/core/execute.c 2024-12-01 13:25:05.000000000 +0000 @@ -5427,6 +5427,7 @@ c->syscall_filter = hashmap_free(c->syscall_filter); c->syscall_archs = set_free(c->syscall_archs); + c->syscall_log = hashmap_free(c->syscall_log); c->address_families = set_free(c->address_families); for (ExecDirectoryType t = 0; t < _EXEC_DIRECTORY_TYPE_MAX; t++) diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/core/main.c systemd-252.33/src/core/main.c --- systemd-252.32/src/core/main.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/core/main.c 2024-12-01 13:25:05.000000000 +0000 @@ -1544,6 +1544,11 @@ /* Tell the binary how often to ping, ignore failure */ (void) strv_extendf(&env_block, "WATCHDOG_USEC="USEC_FMT, watchdog_timer); + /* Make sure that tools that look for $WATCHDOG_USEC (and might get started by the exitrd) don't get + * confused by the variable, because the sd_watchdog_enabled() protocol uses the same variable for + * the same purposes. */ + (void) strv_extendf(&env_block, "WATCHDOG_PID=" PID_FMT, getpid_cached()); + if (arg_watchdog_device) (void) strv_extendf(&env_block, "WATCHDOG_DEVICE=%s", arg_watchdog_device); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/cryptenroll/cryptenroll-wipe.c systemd-252.33/src/cryptenroll/cryptenroll-wipe.c --- systemd-252.32/src/cryptenroll/cryptenroll-wipe.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/cryptenroll/cryptenroll-wipe.c 2024-12-01 13:25:05.000000000 +0000 @@ -425,7 +425,10 @@ for (size_t i = n_ordered_slots; i > 0; i--) { r = crypt_keyslot_destroy(cd, ordered_slots[i - 1]); if (r < 0) { - log_warning_errno(r, "Failed to wipe slot %i, continuing: %m", ordered_slots[i - 1]); + if (r == -ENOENT) + log_warning_errno(r, "Failed to wipe non-existent slot %i, continuing.", ordered_slots[i - 1]); + else + log_warning_errno(r, "Failed to wipe slot %i, continuing: %m", ordered_slots[i - 1]); if (ret == 0) ret = r; } else diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/fsck/fsck.c systemd-252.33/src/fsck/fsck.c --- systemd-252.32/src/fsck/fsck.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/fsck/fsck.c 2024-12-01 13:25:05.000000000 +0000 @@ -106,16 +106,11 @@ } } -#if HAVE_SYSV_COMPAT - else if (streq(key, "fastboot") && !value) { - log_warning("Please pass 'fsck.mode=skip' rather than 'fastboot' on the kernel command line."); + else if (streq(key, "fastboot") && !value) arg_skip = true; - } else if (streq(key, "forcefsck") && !value) { - log_warning("Please pass 'fsck.mode=force' rather than 'forcefsck' on the kernel command line."); + else if (streq(key, "forcefsck") && !value) arg_force = true; - } -#endif return 0; } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/import/curl-util.c systemd-252.33/src/import/curl-util.c --- systemd-252.32/src/import/curl-util.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/import/curl-util.c 2024-12-01 13:25:05.000000000 +0000 @@ -67,6 +67,10 @@ return 0; } + /* Don't configure io event source anymore when the event loop is dead already. */ + if (g->event && sd_event_get_state(g->event) == SD_EVENT_FINISHED) + return 0; + r = hashmap_ensure_allocated(&g->ios, &trivial_hash_ops); if (r < 0) { log_oom(); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/login/logind-dbus.c systemd-252.33/src/login/logind-dbus.c --- systemd-252.32/src/login/logind-dbus.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/login/logind-dbus.c 2024-12-01 13:25:05.000000000 +0000 @@ -985,7 +985,7 @@ static int method_release_session(sd_bus_message *message, void *userdata, sd_bus_error *error) { Manager *m = ASSERT_PTR(userdata); - Session *session; + Session *session, *sender_session; const char *name; int r; @@ -999,6 +999,13 @@ if (r < 0) return r; + r = get_sender_session(m, message, /* consult_display= */ false, error, &sender_session); + if (r < 0) + return r; + + if (session != sender_session) + return sd_bus_error_set(error, BUS_ERROR_NOT_IN_CONTROL, "You are not in control of this session"); + r = session_release(session); if (r < 0) return r; @@ -3434,7 +3441,7 @@ SD_BUS_ARGS("s", session_id), SD_BUS_NO_RESULT, method_release_session, - 0), + SD_BUS_VTABLE_UNPRIVILEGED), SD_BUS_METHOD_WITH_ARGS("ActivateSession", SD_BUS_ARGS("s", session_id), SD_BUS_NO_RESULT, diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/login/org.freedesktop.login1.conf systemd-252.33/src/login/org.freedesktop.login1.conf --- systemd-252.32/src/login/org.freedesktop.login1.conf 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/login/org.freedesktop.login1.conf 2024-12-01 13:25:05.000000000 +0000 @@ -263,6 +263,10 @@ send_member="FlushDevices"/> <allow send_destination="org.freedesktop.login1" + send_interface="org.freedesktop.login1.Manager" + send_member="ReleaseSession"/> + + <allow send_destination="org.freedesktop.login1" send_interface="org.freedesktop.login1.Seat" send_member="Terminate"/> diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/nspawn/nspawn.c systemd-252.33/src/nspawn/nspawn.c --- systemd-252.32/src/nspawn/nspawn.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/nspawn/nspawn.c 2024-12-01 13:25:05.000000000 +0000 @@ -468,7 +468,8 @@ if (path_equal(m->destination, "/") && arg_userns_mode != USER_NAMESPACE_NO) { if (arg_userns_ownership != USER_NAMESPACE_OWNERSHIP_OFF) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "--private-users-ownership=own may not be combined with custom root mounts."); + "--private-users-ownership=%s may not be combined with custom root mounts.", + user_namespace_ownership_to_string(arg_userns_ownership)); if (arg_uid_shift == UID_INVALID) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "--private-users with automatic UID shift may not be combined with custom root mounts."); @@ -4273,7 +4274,7 @@ ucred = CMSG_FIND_DATA(&msghdr, SOL_SOCKET, SCM_CREDENTIALS, struct ucred); if (!ucred || ucred->pid != inner_child_pid) { - log_debug("Received notify message without valid credentials. Ignoring."); + log_debug("Received notify message from process that is not the payload's PID 1. Ignoring."); return 0; } @@ -5300,7 +5301,7 @@ r = wait_for_container(TAKE_PID(*pid), &container_status); /* Tell machined that we are gone. */ - if (bus) + if (arg_register && bus) (void) unregister_machine(bus, arg_machine); if (r < 0) diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/nspawn/nspawn-seccomp.c systemd-252.33/src/nspawn/nspawn-seccomp.c --- systemd-252.32/src/nspawn/nspawn-seccomp.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/nspawn/nspawn-seccomp.c 2024-12-01 13:25:05.000000000 +0000 @@ -56,6 +56,7 @@ { CAP_IPC_LOCK, "@memlock" }, /* Plus a good set of additional syscalls which are not part of any of the groups above */ + { 0, "arm_fadvise64_64" }, { 0, "brk" }, { 0, "capget" }, { 0, "capset" }, diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/nspawn/nspawn-settings.c systemd-252.33/src/nspawn/nspawn-settings.c --- systemd-252.32/src/nspawn/nspawn-settings.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/nspawn/nspawn-settings.c 2024-12-01 13:25:05.000000000 +0000 @@ -878,7 +878,8 @@ [USER_NAMESPACE_OWNERSHIP_AUTO] = "auto", }; -DEFINE_STRING_TABLE_LOOKUP(user_namespace_ownership, UserNamespaceOwnership); +/* Note: while "yes" maps to "auto" here, we don't really document that, in order to make things clearer and less confusing to users. */ +DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(user_namespace_ownership, UserNamespaceOwnership, USER_NAMESPACE_OWNERSHIP_AUTO); int config_parse_userns_chown( const char *unit, diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/quotacheck/quotacheck.c systemd-252.33/src/quotacheck/quotacheck.c --- systemd-252.32/src/quotacheck/quotacheck.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/quotacheck/quotacheck.c 2024-12-01 13:25:05.000000000 +0000 @@ -33,14 +33,9 @@ arg_skip = true; else log_warning("Invalid quotacheck.mode= parameter '%s'. Ignoring.", value); - } -#if HAVE_SYSV_COMPAT - else if (streq(key, "forcequotacheck") && !value) { - log_warning("Please use 'quotacheck.mode=force' rather than 'forcequotacheck' on the kernel command line."); + } else if (streq(key, "forcequotacheck") && !value) arg_force = true; - } -#endif return 0; } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/systemctl/systemctl-show.c systemd-252.33/src/systemctl/systemctl-show.c --- systemd-252.32/src/systemctl/systemctl-show.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/systemctl/systemctl-show.c 2024-12-01 13:25:05.000000000 +0000 @@ -689,7 +689,7 @@ printf(" Tasks: %" PRIu64, i->tasks_current); if (i->tasks_max != UINT64_MAX) - printf(" (limit: %" PRIu64 ")\n", i->tasks_max); + printf("%s (limit: %" PRIu64 ")%s\n", ansi_grey(), i->tasks_max, ansi_normal()); else printf("\n"); } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/src/userdb/userdbctl.c systemd-252.33/src/userdb/userdbctl.c --- systemd-252.32/src/userdb/userdbctl.c 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/src/userdb/userdbctl.c 2024-12-01 13:25:05.000000000 +0000 @@ -22,6 +22,7 @@ #include "user-util.h" #include "userdb.h" #include "verbs.h" +#include "virt.h" static enum { OUTPUT_CLASSIC, @@ -129,10 +130,16 @@ return 0; } +static bool test_show_mapped(void) { + /* Show mapped user range only in environments where user mapping is a thing. */ + return running_in_userns() > 0; +} + static const struct { uid_t first, last; const char *name; UserDisposition disposition; + bool (*test)(void); } uid_range_table[] = { { .first = 1, @@ -165,11 +172,12 @@ .last = MAP_UID_MAX, .name = "mapped", .disposition = USER_REGULAR, + .test = test_show_mapped, }, }; static int table_add_uid_boundaries(Table *table, const UidRange *p) { - int r; + int r, n_added = 0; assert(table); @@ -179,6 +187,9 @@ if (!uid_range_covers(p, uid_range_table[i].first, uid_range_table[i].last - uid_range_table[i].first + 1)) continue; + if (uid_range_table[i].test && !uid_range_table[i].test()) + continue; + name = strjoin(special_glyph(SPECIAL_GLYPH_ARROW_DOWN), " begin ", uid_range_table[i].name, " users ", special_glyph(SPECIAL_GLYPH_ARROW_DOWN)); @@ -236,9 +247,11 @@ TABLE_INT, 1); /* sort after any other entry with the same UID */ if (r < 0) return table_log_add_error(r); + + n_added += 2; } - return ELEMENTSOF(uid_range_table) * 2; + return n_added; } static int add_unavailable_uid(Table *table, uid_t start, uid_t end) { @@ -529,7 +542,7 @@ } static int table_add_gid_boundaries(Table *table, const UidRange *p) { - int r; + int r, n_added = 0; assert(table); @@ -540,6 +553,9 @@ uid_range_table[i].last - uid_range_table[i].first + 1)) continue; + if (uid_range_table[i].test && !uid_range_table[i].test()) + continue; + name = strjoin(special_glyph(SPECIAL_GLYPH_ARROW_DOWN), " begin ", uid_range_table[i].name, " groups ", special_glyph(SPECIAL_GLYPH_ARROW_DOWN)); @@ -591,9 +607,11 @@ TABLE_INT, 1); /* sort after any other entry with the same GID */ if (r < 0) return table_log_add_error(r); + + n_added += 2; } - return ELEMENTSOF(uid_range_table) * 2; + return n_added; } static int add_unavailable_gid(Table *table, uid_t start, uid_t end) { diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.32/test/units/testsuite-22.sh systemd-252.33/test/units/testsuite-22.sh --- systemd-252.32/test/units/testsuite-22.sh 2024-11-16 18:30:43.000000000 +0000 +++ systemd-252.33/test/units/testsuite-22.sh 2024-12-01 13:25:05.000000000 +0000 @@ -3,6 +3,14 @@ set -eux set -o pipefail +if systemd-detect-virt --quiet --container; then + # This comes from the selinux package and tries to write + # some files under sysfs, which will be read-only in a container, + # so mask it. It's not our tmpfiles.d file anyway. + mkdir -p /run/tmpfiles.d/ + ln -s /dev/null /run/tmpfiles.d/selinux-policy.conf +fi + : >/failed for t in "${0%.sh}".*.sh; do
Attachment:
signature.asc
Description: This is a digitally signed message part