diff -ur systemd-stable-249.4_orig/src/login/logind-dbus.c systemd-stable-249.4/src/login/logind-dbus.c --- systemd-stable-249.4_orig/src/login/logind-dbus.c 2021-08-24 13:04:08.000000000 +0200 +++ systemd-stable-249.4/src/login/logind-dbus.c 2021-10-31 11:42:45.354975259 +0100 @@ -1576,9 +1576,12 @@ static int send_prepare_for(Manager *m, InhibitWhat w, bool _active) { int active = _active; + log_debug("send_prepare_for()"); + assert(m); assert(IN_SET(w, INHIBIT_SHUTDOWN, INHIBIT_SLEEP)); + log_debug("send_prepare_for() sending PrepareFor..."); return sd_bus_emit_signal(m->bus, "/org/freedesktop/login1", "org.freedesktop.login1.Manager", @@ -1738,6 +1741,8 @@ bool delayed; int r; + log_debug("bus_manager_shutdown_or_sleep_now_or_later() enter"); + assert(m); assert(unit_name); assert(w > 0); @@ -1769,6 +1774,7 @@ * immediately */ r = execute_shutdown_or_sleep(m, w, unit_name, error); + log_debug("bus_manager_shutdown_or_sleep_now_or_later() leave"); return r; } @@ -1857,6 +1863,8 @@ uint64_t flags; int r; + log_info("method_do_shutdown_or_sleep() enter"); + assert(m); assert(message); assert(unit_name); @@ -1885,6 +1893,9 @@ flags = interactive ? SD_LOGIND_INTERACTIVE : 0; } + log_debug("method_do_shutdown_or_sleep() flags parsed"); + + if ((flags & SD_LOGIND_REBOOT_VIA_KEXEC) && kexec_loaded()) unit_name = SPECIAL_KEXEC_TARGET; @@ -1905,8 +1916,11 @@ return r; } + log_debug("method_do_shutdown_or_sleep() operation verified"); + r = verify_shutdown_creds(m, message, w, action, action_multiple_sessions, action_ignore_inhibit, flags, error); + log_debug("method_do_shutdown_or_sleep() creds verified: %d", r); if (r != 0) return r; @@ -1914,6 +1928,7 @@ if (r < 0) return r; + log_debug("method_do_shutdown_or_sleep() leave"); return sd_bus_reply_method_return(message, NULL); }