[systemd-devel] Trivial denial of service using link to NFS mounted directory

Lennart Poettering lennart at poettering.net
Mon Jul 1 06:01:34 PDT 2013


On Mon, 01.07.13 09:51, Andrey Borzenkov (arvidjaar at gmail.com) wrote:

> If symlink points to NFS (hard) mounted directory and NFS server is
> down, running "sysyemctl list-unit-files" result in systemd hanging and
> no more responding to anything. No way to switch vt (which is spawned
> on demand), no way to reboot system, nothing. Killing systemctl itself
> does not help, as it is systemd which crawls directories, not systemctl
> in this case.
> 
> Apparently any other operation which requires systemd to access unit
> file would give the same result.
> 
> Having (part of) filesystem on NFS is not that unrealistic, so it can
> happen even unintentionally. 

Where did you symlink/mount the NFS directory precisely?

File system access is synchronous on Linux. If a system component needs
data from NFS and the NFS server is down it will hence hang. This is no
different for systemd than for any other system component. And this is
probably one of those cases where the best suggestion is: "don't do that
then"...

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list