Loading fs/stat.c +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading include/linux/security.h +3 −4 Original line number Diff line number Diff line Loading @@ -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, Loading Loading @@ -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, Loading Loading @@ -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; } Loading security/apparmor/lsm.c +3 −3 Original line number Diff line number Diff line Loading @@ -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); } Loading security/capability.c +1 −1 Original line number Diff line number Diff line Loading @@ -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; } Loading security/security.c +3 −3 Original line number Diff line number Diff line Loading @@ -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 Loading
fs/stat.c +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
include/linux/security.h +3 −4 Original line number Diff line number Diff line Loading @@ -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, Loading Loading @@ -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, Loading Loading @@ -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; } Loading
security/apparmor/lsm.c +3 −3 Original line number Diff line number Diff line Loading @@ -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); } Loading
security/capability.c +1 −1 Original line number Diff line number Diff line Loading @@ -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; } Loading
security/security.c +3 −3 Original line number Diff line number Diff line Loading @@ -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