diff options
Diffstat (limited to 'security/selinux/hooks.c')
-rw-r--r-- | security/selinux/hooks.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 4d1a54190388..e119cdcffc87 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
@@ -1623,7 +1623,7 @@ static inline int dentry_has_perm(const struct cred *cred, | |||
1623 | the path to help the auditing code to more easily generate the | 1623 | the path to help the auditing code to more easily generate the |
1624 | pathname if needed. */ | 1624 | pathname if needed. */ |
1625 | static inline int path_has_perm(const struct cred *cred, | 1625 | static inline int path_has_perm(const struct cred *cred, |
1626 | struct path *path, | 1626 | const struct path *path, |
1627 | u32 av) | 1627 | u32 av) |
1628 | { | 1628 | { |
1629 | struct inode *inode = path->dentry->d_inode; | 1629 | struct inode *inode = path->dentry->d_inode; |
@@ -2954,15 +2954,9 @@ static int selinux_inode_setattr(struct dentry *dentry, struct iattr *iattr) | |||
2954 | return dentry_has_perm(cred, dentry, av); | 2954 | return dentry_has_perm(cred, dentry, av); |
2955 | } | 2955 | } |
2956 | 2956 | ||
2957 | static int selinux_inode_getattr(struct vfsmount *mnt, struct dentry *dentry) | 2957 | static int selinux_inode_getattr(const struct path *path) |
2958 | { | 2958 | { |
2959 | const struct cred *cred = current_cred(); | 2959 | return path_has_perm(current_cred(), path, FILE__GETATTR); |
2960 | struct path path; | ||
2961 | |||
2962 | path.dentry = dentry; | ||
2963 | path.mnt = mnt; | ||
2964 | |||
2965 | return path_has_perm(cred, &path, FILE__GETATTR); | ||
2966 | } | 2960 | } |
2967 | 2961 | ||
2968 | static int selinux_inode_setotherxattr(struct dentry *dentry, const char *name) | 2962 | static int selinux_inode_setotherxattr(struct dentry *dentry, const char *name) |