diff options
-rw-r--r-- | src/core/dbus-manager.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index 1f5a7d94fd..56b02a1cf5 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -1503,8 +1503,11 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, } /* Safety check */ - if (isempty(switch_root_init)) + if (isempty(switch_root_init)) { good = path_is_os_tree(switch_root); + if (!good) + log_error("Not switching root: %s does not seem to be an OS tree. /etc/os-release is missing.", switch_root); + } else { _cleanup_free_ char *p = NULL; @@ -1513,6 +1516,8 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, goto oom; good = access(p, X_OK) >= 0; + if (!good) + log_error("Not switching root: cannot execute new init %s", p); } if (!good) return bus_send_error_reply(connection, message, NULL, -EINVAL); |