Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs fixes from Al Viro: "Followups to the parallel lookup work: - update docs - restore killability of the places that used to take ->i_mutex killably now that we have down_write_killable() merged - Additionally, it turns out that I missed a prerequisite for security_d_instantiate() stuff - ->getxattr() wasn't the only thing that could be called before dentry is attached to inode; with smack we needed the same treatment applied to ->setxattr() as well" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: switch ->setxattr() to passing dentry and inode separately switch xattr_handler->set() to passing dentry and inode separately restore killability of old mutex_lock_killable(&inode->i_mutex) users add down_write_killable_nested() update D/f/directory-locking
This commit is contained in:
@@ -5015,12 +5015,11 @@ static int nfs4_do_set_security_label(struct inode *inode,
|
||||
}
|
||||
|
||||
static int
|
||||
nfs4_set_security_label(struct dentry *dentry, const void *buf, size_t buflen)
|
||||
nfs4_set_security_label(struct inode *inode, const void *buf, size_t buflen)
|
||||
{
|
||||
struct nfs4_label ilabel, *olabel = NULL;
|
||||
struct nfs_fattr fattr;
|
||||
struct rpc_cred *cred;
|
||||
struct inode *inode = d_inode(dentry);
|
||||
int status;
|
||||
|
||||
if (!nfs_server_capable(inode, NFS_CAP_SECURITY_LABEL))
|
||||
@@ -6281,11 +6280,11 @@ nfs4_release_lockowner(struct nfs_server *server, struct nfs4_lock_state *lsp)
|
||||
#define XATTR_NAME_NFSV4_ACL "system.nfs4_acl"
|
||||
|
||||
static int nfs4_xattr_set_nfs4_acl(const struct xattr_handler *handler,
|
||||
struct dentry *dentry, const char *key,
|
||||
const void *buf, size_t buflen,
|
||||
int flags)
|
||||
struct dentry *unused, struct inode *inode,
|
||||
const char *key, const void *buf,
|
||||
size_t buflen, int flags)
|
||||
{
|
||||
return nfs4_proc_set_acl(d_inode(dentry), buf, buflen);
|
||||
return nfs4_proc_set_acl(inode, buf, buflen);
|
||||
}
|
||||
|
||||
static int nfs4_xattr_get_nfs4_acl(const struct xattr_handler *handler,
|
||||
@@ -6303,12 +6302,12 @@ static bool nfs4_xattr_list_nfs4_acl(struct dentry *dentry)
|
||||
#ifdef CONFIG_NFS_V4_SECURITY_LABEL
|
||||
|
||||
static int nfs4_xattr_set_nfs4_label(const struct xattr_handler *handler,
|
||||
struct dentry *dentry, const char *key,
|
||||
const void *buf, size_t buflen,
|
||||
int flags)
|
||||
struct dentry *unused, struct inode *inode,
|
||||
const char *key, const void *buf,
|
||||
size_t buflen, int flags)
|
||||
{
|
||||
if (security_ismaclabel(key))
|
||||
return nfs4_set_security_label(dentry, buf, buflen);
|
||||
return nfs4_set_security_label(inode, buf, buflen);
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
Reference in New Issue
Block a user