Statd should always 'chdir' to its state directory.
authorNeilBrown <neilb@suse.de>
Thu, 21 Jul 2011 18:23:00 +0000 (14:23 -0400)
committerSteve Dickson <steved@redhat.com>
Thu, 21 Jul 2011 18:26:11 +0000 (14:26 -0400)
commit1ce0374d445d8a3dbdfb3e9da4c76be9df44666b
tree648f1f9665a5a049b8db353900c6e319727c31d1
parent0ac600d4766a2e54c6da61148a3266155d36b06a
Statd should always 'chdir' to its state directory.

s statd can be started by 'mount' which can sometimes be run by a
normal user, the current-working-directory could be anything.  In
partcular it could be in a mounted filesystem.  As 'statd' continues
running as a daemon it could keep prevent that filesystem from being
unmounted.

statd does currently 'chdir' to the state directory, but only if the
state directory is not owned by root.  This is wrong - it should check
for root after the chdir, not before.

So swap the two if statements around.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
support/nsm/file.c