diff options
author | Mimi Zohar <zohar@linux.vnet.ibm.com> | 2010-11-02 10:11:37 -0400 |
---|---|---|
committer | Mimi Zohar <zohar@linux.vnet.ibm.com> | 2011-02-10 07:51:43 -0500 |
commit | a5c96ebf1d71df0c5fb77ab58c9aeb307cf02372 (patch) | |
tree | 5b5df6c3f421380d980fea21ccf055b9be364741 /include/linux/fs.h | |
parent | a68a27b6f2354273bacc39c3dd06456edb202230 (diff) |
IMA: define readcount functions
Define i_readcount_inc/dec() functions to be called from the VFS layer.
Changelog:
- renamed iget/iput_readcount to i_readcount_inc/dec (Dave Chinner's suggestion)
- removed i_lock in iput_readcount() (based on comments:Dave Chinner,Eric Paris)
Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
Acked-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index ef85322863b9..a3e8f02b727d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -2186,6 +2186,26 @@ static inline void allow_write_access(struct file *file) | |||
2186 | if (file) | 2186 | if (file) |
2187 | atomic_inc(&file->f_path.dentry->d_inode->i_writecount); | 2187 | atomic_inc(&file->f_path.dentry->d_inode->i_writecount); |
2188 | } | 2188 | } |
2189 | #ifdef CONFIG_IMA | ||
2190 | static inline void i_readcount_dec(struct inode *inode) | ||
2191 | { | ||
2192 | BUG_ON(!atomic_read(&inode->i_readcount)); | ||
2193 | atomic_dec(&inode->i_readcount); | ||
2194 | } | ||
2195 | static inline void i_readcount_inc(struct inode *inode) | ||
2196 | { | ||
2197 | atomic_inc(&inode->i_readcount); | ||
2198 | } | ||
2199 | #else | ||
2200 | static inline void i_readcount_dec(struct inode *inode) | ||
2201 | { | ||
2202 | return; | ||
2203 | } | ||
2204 | static inline void i_readcount_inc(struct inode *inode) | ||
2205 | { | ||
2206 | return; | ||
2207 | } | ||
2208 | #endif | ||
2189 | extern int do_pipe_flags(int *, int); | 2209 | extern int do_pipe_flags(int *, int); |
2190 | extern struct file *create_read_pipe(struct file *f, int flags); | 2210 | extern struct file *create_read_pipe(struct file *f, int flags); |
2191 | extern struct file *create_write_pipe(int flags); | 2211 | extern struct file *create_write_pipe(int flags); |