Am 27.10.2014 15:05, schrieb Dimitrios Chr. Ioannidis:
Btw. the commit you are referencing just updated the init script, the
change in libuuid was done over 2 years ago:
<https://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/libuuid/src/gen_uuid.c?id=ea4f8845f0241c714f9487ece5bb6900fc18a9e0>
That all said: I can understand why the util-linux people wanted to get
rid of the old on-demand mechanism: it's potentially error-prone and may
leak context from the program using libuuid into uuidd.
Say, for example, you put the daemon using libuuid into a cgroup - not
with systemd, but with for example cgconfig. And then that daemon starts
uuidd because it's the first to request a UUID. uuidd will then live in
the same cgroup as the daemon. If the administrator then uses the
'freezer' cgroup to atomically stop the entire service that initially
started uuidd, then uuidd will get stopped alongside with it as
'collateral damage'. And then other services using it will block because
uuidd is still running but they have to wait until it responds again.
This just being one example of context being leaked. Some of this
context could be cleaned up if uuidd were setuid root (and not setuid
uuidd), but not all of it necessarily.
Now, this probably will not have been a problem in your specific case.
So yes, you lost a feature there. But put yourself in the perspective of
the developers of util-linux:
- drop an error-prone and potentially security-relevant mechanism for
on-demand startup
- add support for on-demand startup that will work on a large number
of installations (systemd being quite prevalent already then)
- on all other installations: it will now have to be started from the
very beginning
Obviously, the latter part is not optimal for you, but uuidd will keep
working on your system, so I don't see what the huge problem is.