summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust2016-07-24 23:09:02 +0200
committerTrond Myklebust2016-07-24 23:09:02 +0200
commit1592c4d62a89bbca895c568d65ce290dfbc36ecc (patch)
tree6b979bc02ded2ea7e644c34e6939ffbbb7ee001d /fs/nfs
parentMerge branch 'pnfs' (diff)
parentMerge tag 'nfs-rdma-4.8-2' of git://git.linux-nfs.org/projects/anna/nfs-rdma (diff)
downloadkernel-qcow2-linux-1592c4d62a89bbca895c568d65ce290dfbc36ecc.tar.gz
kernel-qcow2-linux-1592c4d62a89bbca895c568d65ce290dfbc36ecc.tar.xz
kernel-qcow2-linux-1592c4d62a89bbca895c568d65ce290dfbc36ecc.zip
Merge branch 'nfs-rdma'
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/callback_xdr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nfs/callback_xdr.c b/fs/nfs/callback_xdr.c
index d81f96aacd51..656f68f7fe53 100644
--- a/fs/nfs/callback_xdr.c
+++ b/fs/nfs/callback_xdr.c
@@ -925,7 +925,7 @@ static __be32 nfs4_callback_compound(struct svc_rqst *rqstp, void *argp, void *r
if (hdr_arg.minorversion == 0) {
cps.clp = nfs4_find_client_ident(SVC_NET(rqstp), hdr_arg.cb_ident);
if (!cps.clp || !check_gss_callback_principal(cps.clp, rqstp))
- return rpc_drop_reply;
+ goto out_invalidcred;
}
cps.minorversion = hdr_arg.minorversion;
@@ -953,6 +953,10 @@ static __be32 nfs4_callback_compound(struct svc_rqst *rqstp, void *argp, void *r
nfs_put_client(cps.clp);
dprintk("%s: done, status = %u\n", __func__, ntohl(status));
return rpc_success;
+
+out_invalidcred:
+ pr_warn_ratelimited("NFS: NFSv4 callback contains invalid cred\n");
+ return rpc_autherr_badcred;
}
/*