Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f7036a0 authored by Al Viro's avatar Al Viro
Browse files

switch security_inode_getattr() to struct path *



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 22473862
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ int vfs_getattr(struct path *path, struct kstat *stat)
{
	int retval;

	retval = security_inode_getattr(path->mnt, path->dentry);
	retval = security_inode_getattr(path);
	if (retval)
		return retval;
	return vfs_getattr_nosec(path, stat);
+3 −4
Original line number Diff line number Diff line
@@ -1556,7 +1556,7 @@ struct security_operations {
	int (*inode_follow_link) (struct dentry *dentry, struct nameidata *nd);
	int (*inode_permission) (struct inode *inode, int mask);
	int (*inode_setattr)	(struct dentry *dentry, struct iattr *attr);
	int (*inode_getattr) (struct vfsmount *mnt, struct dentry *dentry);
	int (*inode_getattr) (const struct path *path);
	int (*inode_setxattr) (struct dentry *dentry, const char *name,
			       const void *value, size_t size, int flags);
	void (*inode_post_setxattr) (struct dentry *dentry, const char *name,
@@ -1843,7 +1843,7 @@ int security_inode_readlink(struct dentry *dentry);
int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd);
int security_inode_permission(struct inode *inode, int mask);
int security_inode_setattr(struct dentry *dentry, struct iattr *attr);
int security_inode_getattr(struct vfsmount *mnt, struct dentry *dentry);
int security_inode_getattr(const struct path *path);
int security_inode_setxattr(struct dentry *dentry, const char *name,
			    const void *value, size_t size, int flags);
void security_inode_post_setxattr(struct dentry *dentry, const char *name,
@@ -2259,8 +2259,7 @@ static inline int security_inode_setattr(struct dentry *dentry,
	return 0;
}

static inline int security_inode_getattr(struct vfsmount *mnt,
					  struct dentry *dentry)
static inline int security_inode_getattr(const struct path *path)
{
	return 0;
}
+3 −3
Original line number Diff line number Diff line
@@ -364,12 +364,12 @@ static int apparmor_path_chown(struct path *path, kuid_t uid, kgid_t gid)
	return common_perm(OP_CHOWN, path, AA_MAY_CHOWN, &cond);
}

static int apparmor_inode_getattr(struct vfsmount *mnt, struct dentry *dentry)
static int apparmor_inode_getattr(const struct path *path)
{
	if (!mediated_filesystem(dentry))
	if (!mediated_filesystem(path->dentry))
		return 0;

	return common_perm_mnt_dentry(OP_GETATTR, mnt, dentry,
	return common_perm_mnt_dentry(OP_GETATTR, path->mnt, path->dentry,
				      AA_MAY_META_READ);
}

+1 −1
Original line number Diff line number Diff line
@@ -225,7 +225,7 @@ static int cap_inode_setattr(struct dentry *dentry, struct iattr *iattr)
	return 0;
}

static int cap_inode_getattr(struct vfsmount *mnt, struct dentry *dentry)
static int cap_inode_getattr(const struct path *path)
{
	return 0;
}
+3 −3
Original line number Diff line number Diff line
@@ -608,11 +608,11 @@ int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
}
EXPORT_SYMBOL_GPL(security_inode_setattr);

int security_inode_getattr(struct vfsmount *mnt, struct dentry *dentry)
int security_inode_getattr(const struct path *path)
{
	if (unlikely(IS_PRIVATE(dentry->d_inode)))
	if (unlikely(IS_PRIVATE(path->dentry->d_inode)))
		return 0;
	return security_ops->inode_getattr(mnt, dentry);
	return security_ops->inode_getattr(path);
}

int security_inode_setxattr(struct dentry *dentry, const char *name,
Loading