linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH Version 2 0/2] NFSv4.1 Use clientid management rpc_clnt
@ 2013-08-08 14:57 andros
  2013-08-08 14:57 ` [PATCH Version 2 1/2] NFSv4.1 Use clientid management rpc_clnt for secinfo andros
  2013-08-08 14:57 ` [PATCH Version 2 2/2] NFSv4.1 Use clientid management rpc_clnt for secinfo_no_name andros
  0 siblings, 2 replies; 3+ messages in thread
From: andros @ 2013-08-08 14:57 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

Version 2 changes:

remove the fs_locations patch
add code comments as per review

Testing: SECINFO against a filer. Still need to test SECINFO_NO_NAME


Andy Adamson (2):
  NFSv4.1 Use clientid management rpc_clnt for secinfo
  NFSv4.1 Use clientid management rpc_clnt for secinfo_no_name

 fs/nfs/nfs4proc.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH Version 2 1/2] NFSv4.1 Use clientid management rpc_clnt for secinfo
  2013-08-08 14:57 [PATCH Version 2 0/2] NFSv4.1 Use clientid management rpc_clnt andros
@ 2013-08-08 14:57 ` andros
  2013-08-08 14:57 ` [PATCH Version 2 2/2] NFSv4.1 Use clientid management rpc_clnt for secinfo_no_name andros
  1 sibling, 0 replies; 3+ messages in thread
From: andros @ 2013-08-08 14:57 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

As per RFC 3530 and RFC 5661 Security Considerations

Commit 4edaa308 "NFS: Use "krb5i" to establish NFSv4 state whenever possible"
uses the nfs_client cl_rpcclient for all clientid management operations.

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4proc.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index a187f4d..f81dcec 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -5794,6 +5794,10 @@ int nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir,
 	return err;
 }
 
+/**
+ * Use the state managment nfs_client cl_rpcclient, which uses krb5i (if
+ * possible) as per RFC3530bis and RFC5661 Security Considerations sections
+ */
 static int _nfs4_proc_secinfo(struct inode *dir, const struct qstr *name, struct nfs4_secinfo_flavors *flavors)
 {
 	int status;
@@ -5809,9 +5813,10 @@ static int _nfs4_proc_secinfo(struct inode *dir, const struct qstr *name, struct
 		.rpc_argp = &args,
 		.rpc_resp = &res,
 	};
+	struct rpc_clnt *clnt = NFS_SERVER(dir)->nfs_client->cl_rpcclient;
 
 	dprintk("NFS call  secinfo %s\n", name->name);
-	status = nfs4_call_sync(NFS_SERVER(dir)->client, NFS_SERVER(dir), &msg, &args.seq_args, &res.seq_res, 0);
+	status = nfs4_call_sync(clnt, NFS_SERVER(dir), &msg, &args.seq_args, &res.seq_res, 0);
 	dprintk("NFS reply  secinfo: %d\n", status);
 	return status;
 }
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH Version 2 2/2] NFSv4.1 Use clientid management rpc_clnt for secinfo_no_name
  2013-08-08 14:57 [PATCH Version 2 0/2] NFSv4.1 Use clientid management rpc_clnt andros
  2013-08-08 14:57 ` [PATCH Version 2 1/2] NFSv4.1 Use clientid management rpc_clnt for secinfo andros
@ 2013-08-08 14:57 ` andros
  1 sibling, 0 replies; 3+ messages in thread
From: andros @ 2013-08-08 14:57 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

As per RFC 5661 Security Considerations

Commit 4edaa308 "NFS: Use "krb5i" to establish NFSv4 state whenever possible"
uses the nfs_client cl_rpcclient for all clientid management operations.

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4proc.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index f81dcec..f50ad28 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -7090,6 +7090,10 @@ out:
 	return status;
 }
 
+/**
+ * Use the state managment nfs_client cl_rpcclient, which uses krb5i (if
+ * possible) as per RFC3530bis and RFC5661 Security Considerations sections
+ */
 static int
 _nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle,
 		    struct nfs_fsinfo *info, struct nfs4_secinfo_flavors *flavors)
@@ -7105,7 +7109,8 @@ _nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle,
 		.rpc_argp = &args,
 		.rpc_resp = &res,
 	};
-	return nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0);
+	return nfs4_call_sync(server->nfs_client->cl_rpcclient, server, &msg,
+				&args.seq_args, &res.seq_res, 0);
 }
 
 static int
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-08-08 14:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-08 14:57 [PATCH Version 2 0/2] NFSv4.1 Use clientid management rpc_clnt andros
2013-08-08 14:57 ` [PATCH Version 2 1/2] NFSv4.1 Use clientid management rpc_clnt for secinfo andros
2013-08-08 14:57 ` [PATCH Version 2 2/2] NFSv4.1 Use clientid management rpc_clnt for secinfo_no_name andros

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).