[systemd-devel] [PATCH 1/2] core: Refuse to run a user instance when the system hasn't been booted with systemd.
Lennart Poettering
lennart at poettering.net
Tue Oct 16 07:01:47 PDT 2012
On Tue, 16.10.12 15:35, Michael Biebl (mbiebl at gmail.com) wrote:
>
> 2012/10/16 Lennart Poettering <lennart at poettering.net>:
> > Now, Thomas' patch actually changes much less than people might
> > think. This is because sd_booted() simply checks whether
> > /sys/fs/cgroup/systemd is mounted. But to run --user on a foreign system
> > you need to set that tree up anyway, as that is a requirement for
> > systemd either way.
>
> So, if you have non-systemd init + systemd --user, sd_booted() will
> return true, even if the system has not been booted with systemd.
Well, If people do stupid things people do stupid things. I am all for
adding a high-level warning, like we just did, but if people really
insist on ignoring it then they can do this, but I don't have to care
anymore. I am all for adding one level of safety checks, but adding more
than one, nah, thank you very much...
> This could lead to very interesting/unexpected results, like system
> software misbehaving (e.g. rsyslog checks for sd_booted()), or in
> Debian we use the [ -d /sys/fs/cgroup/systemd ] check at several
> places to check whether we have booted with systemd.
>
> I'm wondering if it would be possible / make sense to use a separate
> sysfs tree for users session in such a case, like
> /sys/fs/cgroup/systemd-user
We definitely want less tres rather than more. And in this case we can't
win anyway, so it sounds like a very bad choice...
Lennart
--
Lennart Poettering - Red Hat, Inc.
More information about the systemd-devel
mailing list