diff mbox

[16/19] NFSv4.2: Only allocate labels on v4.2 mounts

Message ID 1364939160-20874-17-git-send-email-SteveD@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Steve Dickson April 2, 2013, 9:45 p.m. UTC
From: Steve Dickson <steved@redhat.com>

Before allocating a label or security initialization
make sure the v4 minor version is at least 2.

Signed-off-by: Steve Dickson <steved@redhat.com>
---
 fs/nfs/inode.c    | 4 ++++
 fs/nfs/nfs4proc.c | 4 ++++
 2 files changed, 8 insertions(+)
diff mbox

Patch

diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 91920fc..cc1c85d 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -287,6 +287,10 @@  void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr,
 struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags)
 {
 	struct nfs4_label *label = NULL;
+	int minor_version = server->nfs_client->cl_minorversion;
+
+	if (minor_version < 2)
+		return label;
 
 	if (!(server->caps & NFS_CAP_SECURITY_LABEL))
 		return label;
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index b7eae1e..3e18d39 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -94,6 +94,10 @@  nfs4_label_init_security(struct inode *dir, struct dentry *dentry,
 	struct iattr *sattr, struct nfs4_label *l)
 {
 	int err;
+	int minor_version = NFS_SERVER(dir)->nfs_client->cl_minorversion;
+
+	if (minor_version < 2)
+		return NULL;
 
 	if (nfs_server_capable(dir, NFS_CAP_SECURITY_LABEL)) {
 		err = security_dentry_init_security(dentry, sattr->ia_mode,