OSDN Git Service

NFS: Remove the nfs4_label argument from nfs_setsecurity
authorAnna Schumaker <Anna.Schumaker@Netapp.com>
Fri, 22 Oct 2021 17:11:12 +0000 (13:11 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 5 Nov 2021 18:54:40 +0000 (14:54 -0400)
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/dir.c
fs/nfs/getroot.c
fs/nfs/inode.c
fs/nfs/nfs4proc.c
include/linux/nfs_fs.h

index bd89f39..731d310 100644 (file)
@@ -682,8 +682,7 @@ again:
                        nfs_set_verifier(dentry, dir_verifier);
                        status = nfs_refresh_inode(d_inode(dentry), entry->fattr);
                        if (!status)
-                               nfs_setsecurity(d_inode(dentry), entry->fattr,
-                                               entry->fattr->label);
+                               nfs_setsecurity(d_inode(dentry), entry->fattr);
                        goto out;
                } else {
                        d_invalidate(dentry);
@@ -1523,7 +1522,7 @@ nfs_lookup_revalidate_dentry(struct inode *dir, struct dentry *dentry,
        if (nfs_refresh_inode(inode, fattr) < 0)
                goto out;
 
-       nfs_setsecurity(inode, fattr, fattr->label);
+       nfs_setsecurity(inode, fattr);
        nfs_set_verifier(dentry, dir_verifier);
 
        /* set a readdirplus hint that we had a cache miss */
index 0aedee2..11ff2b2 100644 (file)
@@ -148,7 +148,7 @@ int nfs_get_root(struct super_block *s, struct fs_context *fc)
                !(kflags_out & SECURITY_LSM_NATIVE_LABELS))
                server->caps &= ~NFS_CAP_SECURITY_LABEL;
 
-       nfs_setsecurity(inode, fsinfo.fattr, fsinfo.fattr->label);
+       nfs_setsecurity(inode, fsinfo.fattr);
        error = 0;
 
 out_fattr:
index be28f02..dd53704 100644 (file)
@@ -355,23 +355,22 @@ static void nfs_clear_label_invalid(struct inode *inode)
        spin_unlock(&inode->i_lock);
 }
 
-void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr,
-                                       struct nfs4_label *label)
+void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr)
 {
        int error;
 
-       if (label == NULL)
+       if (fattr->label == NULL)
                return;
 
        if ((fattr->valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL) && inode->i_security) {
-               error = security_inode_notifysecctx(inode, label->label,
-                               label->len);
+               error = security_inode_notifysecctx(inode, fattr->label->label,
+                               fattr->label->len);
                if (error)
                        printk(KERN_ERR "%s() %s %d "
                                        "security_inode_notifysecctx() %d\n",
                                        __func__,
-                                       (char *)label->label,
-                                       label->len, error);
+                                       (char *)fattr->label->label,
+                                       fattr->label->len, error);
                nfs_clear_label_invalid(inode);
        }
 }
@@ -398,8 +397,7 @@ struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags)
 }
 EXPORT_SYMBOL_GPL(nfs4_label_alloc);
 #else
-void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr,
-                                       struct nfs4_label *label)
+void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr)
 {
 }
 #endif
@@ -581,7 +579,7 @@ nfs_fhget(struct super_block *sb, struct nfs_fh *fh, struct nfs_fattr *fattr)
                           fattr->size != 0)
                        nfs_set_cache_invalid(inode, NFS_INO_INVALID_BLOCKS);
 
-               nfs_setsecurity(inode, fattr, fattr->label);
+               nfs_setsecurity(inode, fattr);
 
                nfsi->attrtimeo = NFS_MINATTRTIMEO(inode);
                nfsi->attrtimeo_timestamp = now;
@@ -1252,7 +1250,7 @@ __nfs_revalidate_inode(struct nfs_server *server, struct inode *inode)
        if (nfsi->cache_validity & NFS_INO_INVALID_ACL)
                nfs_zap_acl_cache(inode);
 
-       nfs_setsecurity(inode, fattr, fattr->label);
+       nfs_setsecurity(inode, fattr);
 
        dfprintk(PAGECACHE, "NFS: (%s/%Lu) revalidation complete\n",
                inode->i_sb->s_id,
index b25adb2..535436d 100644 (file)
@@ -3179,8 +3179,7 @@ static int _nfs4_do_open(struct inode *dir,
                        if (status == 0) {
                                nfs_setattr_update_inode(state->inode, sattr,
                                                opendata->o_res.f_attr);
-                               nfs_setsecurity(state->inode, opendata->o_res.f_attr,
-                                               opendata->o_res.f_attr->label);
+                               nfs_setsecurity(state->inode, opendata->o_res.f_attr);
                        }
                        sattr->ia_valid = ia_old;
                }
@@ -4261,7 +4260,7 @@ nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr,
        status = nfs4_do_setattr(inode, cred, fattr, sattr, ctx, NULL);
        if (status == 0) {
                nfs_setattr_update_inode(inode, sattr, fattr);
-               nfs_setsecurity(inode, fattr, fattr->label);
+               nfs_setsecurity(inode, fattr);
        }
        return status;
 }
@@ -4782,7 +4781,7 @@ static int _nfs4_proc_link(struct inode *inode, struct inode *dir, const struct
                nfs4_inc_nlink(inode);
                status = nfs_post_op_update_inode(inode, res.fattr);
                if (!status)
-                       nfs_setsecurity(inode, res.fattr, res.fattr->label);
+                       nfs_setsecurity(inode, res.fattr);
        }
 
 out:
@@ -6077,7 +6076,7 @@ nfs4_set_security_label(struct inode *inode, const void *buf, size_t buflen)
 
        status = nfs4_do_set_security_label(inode, &ilabel, fattr);
        if (status == 0)
-               nfs_setsecurity(inode, fattr, fattr->label);
+               nfs_setsecurity(inode, fattr);
 
        return status;
 }
index c36c6a5..05f249f 100644 (file)
@@ -409,8 +409,7 @@ extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *map
 extern int nfs_revalidate_mapping_rcu(struct inode *inode);
 extern int nfs_setattr(struct user_namespace *, struct dentry *, struct iattr *);
 extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr, struct nfs_fattr *);
-extern void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr,
-                               struct nfs4_label *label);
+extern void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr);
 extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx);
 extern void put_nfs_open_context(struct nfs_open_context *ctx);
 extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, const struct cred *cred, fmode_t mode);