12
include/linux/security.h | 12 +++++++-----
12
include/linux/security.h | 9 +++++----
13
13
security/dummy.c | 2 +-
14
security/security.c | 4 ++--
14
15
security/selinux/hooks.c | 2 +-
15
4 files changed, 10 insertions(+), 8 deletions(-)
16
5 files changed, 10 insertions(+), 9 deletions(-)
27
28
error = -EOPNOTSUPP;
28
29
--- a/include/linux/security.h
29
30
+++ b/include/linux/security.h
30
@@ -396,7 +396,7 @@ struct request_sock;
31
@@ -409,7 +409,7 @@ struct request_sock;
31
32
* Return 0 if permission is granted.
32
33
* @inode_listxattr:
33
34
* Check permission before obtaining the list of extended attribute
36
37
* Return 0 if permission is granted.
37
38
* @inode_removexattr:
38
39
* Check permission before removing the extended attribute
39
@@ -1251,7 +1251,7 @@ struct security_operations {
40
@@ -1293,7 +1293,7 @@ struct security_operations {
40
41
size_t size, int flags);
41
42
int (*inode_getxattr) (struct dentry *dentry, struct vfsmount *mnt,
43
44
- int (*inode_listxattr) (struct dentry *dentry);
44
45
+ int (*inode_listxattr) (struct dentry *dentry, struct vfsmount *mnt);
45
46
int (*inode_removexattr) (struct dentry *dentry, char *name);
46
const char *(*inode_xattr_getsuffix) (void);
47
int (*inode_getsecurity)(const struct inode *inode, const char *name, void *buffer, size_t size, int err);
48
@@ -1793,11 +1793,12 @@ static inline int security_inode_getxatt
49
return security_ops->inode_getxattr (dentry, mnt, name);
52
-static inline int security_inode_listxattr (struct dentry *dentry)
53
+static inline int security_inode_listxattr (struct dentry *dentry,
54
+ struct vfsmount *mnt)
56
if (unlikely (IS_PRIVATE (dentry->d_inode)))
58
- return security_ops->inode_listxattr (dentry);
59
+ return security_ops->inode_listxattr (dentry, mnt);
62
static inline int security_inode_removexattr (struct dentry *dentry, char *name)
63
@@ -2500,7 +2501,8 @@ static inline int security_inode_getxatt
47
int (*inode_need_killpriv) (struct dentry *dentry);
48
int (*inode_killpriv) (struct dentry *dentry);
49
@@ -1557,7 +1557,7 @@ void security_inode_post_setxattr(struct
51
int security_inode_getxattr(struct dentry *dentry, struct vfsmount *mnt,
53
-int security_inode_listxattr(struct dentry *dentry);
54
+int security_inode_listxattr(struct dentry *dentry, struct vfsmount *mnt);
55
int security_inode_removexattr(struct dentry *dentry, char *name);
56
int security_inode_need_killpriv(struct dentry *dentry);
57
int security_inode_killpriv(struct dentry *dentry);
58
@@ -1962,7 +1962,8 @@ static inline int security_inode_getxatt
79
--- a/security/security.c
80
+++ b/security/security.c
81
@@ -466,11 +466,11 @@ int security_inode_getxattr(struct dentr
82
return security_ops->inode_getxattr(dentry, mnt, name);
85
-int security_inode_listxattr(struct dentry *dentry)
86
+int security_inode_listxattr(struct dentry *dentry, struct vfsmount *mnt)
88
if (unlikely(IS_PRIVATE(dentry->d_inode)))
90
- return security_ops->inode_listxattr(dentry);
91
+ return security_ops->inode_listxattr(dentry, mnt);
94
int security_inode_removexattr(struct dentry *dentry, char *name)
84
95
--- a/security/selinux/hooks.c
85
96
+++ b/security/selinux/hooks.c
86
@@ -2400,7 +2400,7 @@ static int selinux_inode_getxattr (struc
97
@@ -2415,7 +2415,7 @@ static int selinux_inode_getxattr (struc
87
98
return dentry_has_perm(current, NULL, dentry, FILE__GETATTR);