diff options
author | David Howells <dhowells@redhat.com> | 2015-02-19 05:47:02 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-04-15 15:06:57 -0400 |
commit | ce0b16ddf18df35026164fda4a642ef10c01f442 (patch) | |
tree | f1253eacda202bd3dfae647cc5d646af02d4d10a /security | |
parent | c6f493d631c4d40cea5c36055f9148f547b200af (diff) |
VFS: security/: d_inode() annotations
... except where that code acts as a filesystem driver, rather than
working with dentries given to it.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'security')
-rw-r--r-- | security/apparmor/apparmorfs.c | 2 | ||||
-rw-r--r-- | security/inode.c | 18 | ||||
-rw-r--r-- | security/selinux/selinuxfs.c | 2 | ||||
-rw-r--r-- | security/smack/smackfs.c | 2 |
4 files changed, 12 insertions, 12 deletions
diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c index 7db9954f1af2..ad4fa49ad1db 100644 --- a/security/apparmor/apparmorfs.c +++ b/security/apparmor/apparmorfs.c | |||
@@ -365,7 +365,7 @@ void __aa_fs_profile_rmdir(struct aa_profile *profile) | |||
365 | if (!profile->dents[i]) | 365 | if (!profile->dents[i]) |
366 | continue; | 366 | continue; |
367 | 367 | ||
368 | r = profile->dents[i]->d_inode->i_private; | 368 | r = d_inode(profile->dents[i])->i_private; |
369 | securityfs_remove(profile->dents[i]); | 369 | securityfs_remove(profile->dents[i]); |
370 | aa_put_replacedby(r); | 370 | aa_put_replacedby(r); |
371 | profile->dents[i] = NULL; | 371 | profile->dents[i] = NULL; |
diff --git a/security/inode.c b/security/inode.c index 131a3c49f766..91503b79c5f8 100644 --- a/security/inode.c +++ b/security/inode.c | |||
@@ -27,7 +27,7 @@ static int mount_count; | |||
27 | 27 | ||
28 | static inline int positive(struct dentry *dentry) | 28 | static inline int positive(struct dentry *dentry) |
29 | { | 29 | { |
30 | return dentry->d_inode && !d_unhashed(dentry); | 30 | return d_really_is_positive(dentry) && !d_unhashed(dentry); |
31 | } | 31 | } |
32 | 32 | ||
33 | static int fill_super(struct super_block *sb, void *data, int silent) | 33 | static int fill_super(struct super_block *sb, void *data, int silent) |
@@ -102,14 +102,14 @@ struct dentry *securityfs_create_file(const char *name, umode_t mode, | |||
102 | if (!parent) | 102 | if (!parent) |
103 | parent = mount->mnt_root; | 103 | parent = mount->mnt_root; |
104 | 104 | ||
105 | dir = parent->d_inode; | 105 | dir = d_inode(parent); |
106 | 106 | ||
107 | mutex_lock(&dir->i_mutex); | 107 | mutex_lock(&dir->i_mutex); |
108 | dentry = lookup_one_len(name, parent, strlen(name)); | 108 | dentry = lookup_one_len(name, parent, strlen(name)); |
109 | if (IS_ERR(dentry)) | 109 | if (IS_ERR(dentry)) |
110 | goto out; | 110 | goto out; |
111 | 111 | ||
112 | if (dentry->d_inode) { | 112 | if (d_really_is_positive(dentry)) { |
113 | error = -EEXIST; | 113 | error = -EEXIST; |
114 | goto out1; | 114 | goto out1; |
115 | } | 115 | } |
@@ -197,20 +197,20 @@ void securityfs_remove(struct dentry *dentry) | |||
197 | return; | 197 | return; |
198 | 198 | ||
199 | parent = dentry->d_parent; | 199 | parent = dentry->d_parent; |
200 | if (!parent || !parent->d_inode) | 200 | if (!parent || d_really_is_negative(parent)) |
201 | return; | 201 | return; |
202 | 202 | ||
203 | mutex_lock(&parent->d_inode->i_mutex); | 203 | mutex_lock(&d_inode(parent)->i_mutex); |
204 | if (positive(dentry)) { | 204 | if (positive(dentry)) { |
205 | if (dentry->d_inode) { | 205 | if (d_really_is_positive(dentry)) { |
206 | if (d_is_dir(dentry)) | 206 | if (d_is_dir(dentry)) |
207 | simple_rmdir(parent->d_inode, dentry); | 207 | simple_rmdir(d_inode(parent), dentry); |
208 | else | 208 | else |
209 | simple_unlink(parent->d_inode, dentry); | 209 | simple_unlink(d_inode(parent), dentry); |
210 | dput(dentry); | 210 | dput(dentry); |
211 | } | 211 | } |
212 | } | 212 | } |
213 | mutex_unlock(&parent->d_inode->i_mutex); | 213 | mutex_unlock(&d_inode(parent)->i_mutex); |
214 | simple_release_fs(&mount, &mount_count); | 214 | simple_release_fs(&mount, &mount_count); |
215 | } | 215 | } |
216 | EXPORT_SYMBOL_GPL(securityfs_remove); | 216 | EXPORT_SYMBOL_GPL(securityfs_remove); |
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c index 5fde34326dcf..d2787cca1fcb 100644 --- a/security/selinux/selinuxfs.c +++ b/security/selinux/selinuxfs.c | |||
@@ -1737,7 +1737,7 @@ static struct dentry *sel_make_dir(struct dentry *dir, const char *name, | |||
1737 | inc_nlink(inode); | 1737 | inc_nlink(inode); |
1738 | d_add(dentry, inode); | 1738 | d_add(dentry, inode); |
1739 | /* bump link count on parent directory, too */ | 1739 | /* bump link count on parent directory, too */ |
1740 | inc_nlink(dir->d_inode); | 1740 | inc_nlink(d_inode(dir)); |
1741 | 1741 | ||
1742 | return dentry; | 1742 | return dentry; |
1743 | } | 1743 | } |
diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c index bce4e8f1b267..2611a651c344 100644 --- a/security/smack/smackfs.c +++ b/security/smack/smackfs.c | |||
@@ -2395,7 +2395,7 @@ static int smk_fill_super(struct super_block *sb, void *data, int silent) | |||
2395 | return rc; | 2395 | return rc; |
2396 | } | 2396 | } |
2397 | 2397 | ||
2398 | root_inode = sb->s_root->d_inode; | 2398 | root_inode = d_inode(sb->s_root); |
2399 | 2399 | ||
2400 | return 0; | 2400 | return 0; |
2401 | } | 2401 | } |