~mathiaz/apparmor/ubuntu-mathiaz

« back to all changes in this revision

Viewing changes to kernel-patches/for-mainline/security-listxattr.diff

  • Committer: Mathias Gug
  • Date: 2008-02-04 18:57:00 UTC
  • mfrom: (885.1.5 apparmor)
  • Revision ID: mathiaz@ubuntu.com-20080204185700-wwlyq0ksssxclv8w
Merge  ubuntu branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 
10
10
---
11
11
 fs/xattr.c               |    2 +-
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(-)
16
17
 
17
18
--- a/fs/xattr.c
18
19
+++ b/fs/xattr.c
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,
42
43
                               char *name);
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);
50
 
 }
51
 
 
52
 
-static inline int security_inode_listxattr (struct dentry *dentry)
53
 
+static inline int security_inode_listxattr (struct dentry *dentry,
54
 
+                                           struct vfsmount *mnt)
55
 
 {
56
 
        if (unlikely (IS_PRIVATE (dentry->d_inode)))
57
 
                return 0;
58
 
-       return security_ops->inode_listxattr (dentry);
59
 
+       return security_ops->inode_listxattr (dentry, mnt);
60
 
 }
61
 
 
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
 
50
                                  int flags);
 
51
 int security_inode_getxattr(struct dentry *dentry, struct vfsmount *mnt,
 
52
                            char *name);
 
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
64
59
        return 0;
65
60
 }
66
61
 
72
67
 }
73
68
--- a/security/dummy.c
74
69
+++ b/security/dummy.c
75
 
@@ -374,7 +374,7 @@ static int dummy_inode_getxattr (struct 
 
70
@@ -371,7 +371,7 @@ static int dummy_inode_getxattr (struct 
76
71
        return 0;
77
72
 }
78
73
 
81
76
 {
82
77
        return 0;
83
78
 }
 
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);
 
83
 }
 
84
 
 
85
-int security_inode_listxattr(struct dentry *dentry)
 
86
+int security_inode_listxattr(struct dentry *dentry, struct vfsmount *mnt)
 
87
 {
 
88
        if (unlikely(IS_PRIVATE(dentry->d_inode)))
 
89
                return 0;
 
90
-       return security_ops->inode_listxattr(dentry);
 
91
+       return security_ops->inode_listxattr(dentry, mnt);
 
92
 }
 
93
 
 
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);
88
99
 }
89
100