Since 4.8 follow_automount() overrides the credentials with &init_cred before calling d_automount(). When rpcauth_lookupcred() is called in this context it is now using fs[ug]id from the override creds instead of from the user's creds, which can cause authentication to fail. To fix this, take the ids from current_real_cred() instead. Cc: stable@xxxxxxxxxxxxxxx # v4.8+ CC: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Fixes: aeaa4a79ff6a ("fs: Call d_automount with the filesystems creds") Signed-off-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> --- net/sunrpc/auth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c index 2bff63a73cf8..e6197b2bda86 100644 --- a/net/sunrpc/auth.c +++ b/net/sunrpc/auth.c @@ -622,7 +622,7 @@ rpcauth_lookupcred(struct rpc_auth *auth, int flags) { struct auth_cred acred; struct rpc_cred *ret; - const struct cred *cred = current_cred(); + const struct cred *cred = current_real_cred(); dprintk("RPC: looking up %s cred\n", auth->au_ops->au_name); -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html