From: Mike Yuan Date: Sun, 2 Apr 2023 10:56:12 +0000 (+0800) Subject: core: do early setup check for arguments with '=' too X-Git-Tag: v254-rc1~830 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f44d2c4f76922a4f48dd4473e6abaca40d7e555;p=thirdparty%2Fsystemd.git core: do early setup check for arguments with '=' too Follow-up for d2ebd50d7f9740dcf30e84efc75610af173967d2 We now modify our cmdline to use '=' for all arguments, but didn't change early setup check to work with that. So every daemon-reexec does a full setup, thus breaking running user sessions. Fixes #27106 --- diff --git a/src/core/main.c b/src/core/main.c index 4668d6bc84a..bcc5e15a789 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -2744,7 +2744,7 @@ static bool early_skip_setup_check(int argc, char *argv[]) { for (int i = 1; i < argc; i++) if (streq(argv[i], "--switched-root")) return false; /* If we switched root, don't skip the setup. */ - else if (streq(argv[i], "--deserialize")) + else if (startswith(argv[i], "--deserialize")) found_deserialize = true; return found_deserialize; /* When we are deserializing, then we are reexecuting, hence avoid the extensive setup */