[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170222151758.GB29966@ubuntu-hedt>
Date: Wed, 22 Feb 2017 09:17:58 -0600
From: Seth Forshee <seth.forshee@...onical.com>
To: David Howells <dhowells@...hat.com>
Cc: viro@...IV.linux.org.uk, linux-kernel@...r.kernel.org,
"Eric W. Biederman" <ebiederm@...ssion.com>,
linux-fsdevel@...r.kernel.org, linux-afs@...ts.infradead.org
Subject: Re: [PATCH] vfs: Partially revert addition of cred override in
follow_automount()
On Wed, Feb 22, 2017 at 01:36:32PM +0000, David Howells wrote:
> The following commit:
>
> commit aeaa4a79ff6a5ed912b7362f206cf8576fca538b
> Author: Eric W. Biederman <ebiederm@...ssion.com>
> Date: Sat Jul 23 11:20:44 2016 -0500
> fs: Call d_automount with the filesystems creds
>
> brackets the call to ->d_automount() with override_creds() and
> revert_creds(), setting the initial credentials for use whilst
> automounting.
>
> This, however, breaks AFS as it's no longer able to access the calling
> process's keyrings to read the destination on a mountpoint. This has gone
> unnoticed till now because, to this point, stat'ing or validating the inode
> caused the body of the mountpoint to be read into the pagecache (so that we
> could determine whether what we were looking at was really a mountpoint).
>
> However, the page containing the mountpoint destination is merely *cached*
> and not pinned. If it gets discarded and we try to read it in d_automount,
> we may fail because we have no authentication tokens available.
>
> So, for the moment, revert the addition of override_creds() and
> revert_creds() and their variable.
>
> Fixes: aeaa4a79ff6a ("fs: Call d_automount with the filesystems creds")
> Signed-off-by: David Howells <dhowells@...hat.com>
> cc: Seth Forshee <seth.forshee@...onical.com>
> cc: "Eric W. Biederman" <ebiederm@...ssion.com>
> cc: Al Viro <viro@...IV.linux.org.uk>
Eric's already applied a patch that should fix this problem. As far as I
know it's only been tested against NFS though, so you might want to test
that it also fixes the issue with AFS.
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=93faccbbfa958a9668d3ab4e30f38dd205cee8d8
Thanks,
Seth
Powered by blists - more mailing lists