aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorMimi Zohar <zohar@linux.vnet.ibm.com>2010-11-02 10:11:37 -0400
committerMimi Zohar <zohar@linux.vnet.ibm.com>2011-02-10 07:51:43 -0500
commita5c96ebf1d71df0c5fb77ab58c9aeb307cf02372 (patch)
tree5b5df6c3f421380d980fea21ccf055b9be364741 /include/linux/fs.h
parenta68a27b6f2354273bacc39c3dd06456edb202230 (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.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index ef85322863b..a3e8f02b727 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
2190static inline void i_readcount_dec(struct inode *inode)
2191{
2192 BUG_ON(!atomic_read(&inode->i_readcount));
2193 atomic_dec(&inode->i_readcount);
2194}
2195static inline void i_readcount_inc(struct inode *inode)
2196{
2197 atomic_inc(&inode->i_readcount);
2198}
2199#else
2200static inline void i_readcount_dec(struct inode *inode)
2201{
2202 return;
2203}
2204static inline void i_readcount_inc(struct inode *inode)
2205{
2206 return;
2207}
2208#endif
2189extern int do_pipe_flags(int *, int); 2209extern int do_pipe_flags(int *, int);
2190extern struct file *create_read_pipe(struct file *f, int flags); 2210extern struct file *create_read_pipe(struct file *f, int flags);
2191extern struct file *create_write_pipe(int flags); 2211extern struct file *create_write_pipe(int flags);