From: Steve Dickson <SteveD@redhat.com>
To: NeilBrown <neilb@suse.de>
Cc: Chuck Lever <chuck.lever@oracle.com>,
"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: Subject: [PATCH] Statd should always 'chdir' to its state directory.
Date: Thu, 21 Jul 2011 15:26:00 -0400 [thread overview]
Message-ID: <4E287D48.3020605@RedHat.com> (raw)
In-Reply-To: <20110721104032.38e289aa@notabene.brown>
On 07/20/2011 08:40 PM, NeilBrown wrote:
>
> Subject: [PATCH] Statd should always 'chdir' to its state directory.
>
> As 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>
Committed...
steved.
>
> --
> looks like this regression slipped in around January 2010 with the big libnsm clean up.
> -NB
>
>
> diff --git a/support/nsm/file.c b/support/nsm/file.c
> index 98b47bf..a12c753 100644
> --- a/support/nsm/file.c
> +++ b/support/nsm/file.c
> @@ -395,18 +395,18 @@ nsm_drop_privileges(const int pidfd)
> return false;
> }
>
> - if (st.st_uid == 0) {
> - xlog_warn("Running as root. "
> - "chown %s to choose different user", nsm_base_dirname);
> - return true;
> - }
> -
> if (chdir(nsm_base_dirname) == -1) {
> xlog(L_ERROR, "Failed to change working directory to %s: %m",
> nsm_base_dirname);
> return false;
> }
>
> + if (st.st_uid == 0) {
> + xlog_warn("Running as root. "
> + "chown %s to choose different user", nsm_base_dirname);
> + return true;
> + }
> +
> /*
> * If the pidfile happens to reside on NFS, dropping privileges
> * will probably cause us to lose access, even though we are
prev parent reply other threads:[~2011-07-21 19:26 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20110721104032.38e289aa@notabene.brown>
2011-07-21 9:05 ` Subject: [PATCH] Statd should always 'chdir' to its state directory Chuck Lever
2011-07-21 19:26 ` Steve Dickson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E287D48.3020605@RedHat.com \
--to=steved@redhat.com \
--cc=chuck.lever@oracle.com \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.