Replace a bunch of file->dentry->d_inode refs with file_inode()
Replace a bunch of file->dentry->d_inode refs with file_inode(). In __fput(), use file->f_inode instead so as not to be affected by any tricks that file_inode() might grow. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
656d09df8f
commit
c77cecee52
|
@ -227,7 +227,7 @@ static void __fput(struct file *file)
|
||||||
{
|
{
|
||||||
struct dentry *dentry = file->f_path.dentry;
|
struct dentry *dentry = file->f_path.dentry;
|
||||||
struct vfsmount *mnt = file->f_path.mnt;
|
struct vfsmount *mnt = file->f_path.mnt;
|
||||||
struct inode *inode = dentry->d_inode;
|
struct inode *inode = file->f_inode;
|
||||||
|
|
||||||
might_sleep();
|
might_sleep();
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ static inline int fsnotify_parent(struct path *path, struct dentry *dentry, __u3
|
||||||
static inline int fsnotify_perm(struct file *file, int mask)
|
static inline int fsnotify_perm(struct file *file, int mask)
|
||||||
{
|
{
|
||||||
struct path *path = &file->f_path;
|
struct path *path = &file->f_path;
|
||||||
struct inode *inode = path->dentry->d_inode;
|
struct inode *inode = file_inode(file);
|
||||||
__u32 fsnotify_mask = 0;
|
__u32 fsnotify_mask = 0;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@ static inline void fsnotify_mkdir(struct inode *inode, struct dentry *dentry)
|
||||||
static inline void fsnotify_access(struct file *file)
|
static inline void fsnotify_access(struct file *file)
|
||||||
{
|
{
|
||||||
struct path *path = &file->f_path;
|
struct path *path = &file->f_path;
|
||||||
struct inode *inode = path->dentry->d_inode;
|
struct inode *inode = file_inode(file);
|
||||||
__u32 mask = FS_ACCESS;
|
__u32 mask = FS_ACCESS;
|
||||||
|
|
||||||
if (S_ISDIR(inode->i_mode))
|
if (S_ISDIR(inode->i_mode))
|
||||||
|
@ -210,7 +210,7 @@ static inline void fsnotify_access(struct file *file)
|
||||||
static inline void fsnotify_modify(struct file *file)
|
static inline void fsnotify_modify(struct file *file)
|
||||||
{
|
{
|
||||||
struct path *path = &file->f_path;
|
struct path *path = &file->f_path;
|
||||||
struct inode *inode = path->dentry->d_inode;
|
struct inode *inode = file_inode(file);
|
||||||
__u32 mask = FS_MODIFY;
|
__u32 mask = FS_MODIFY;
|
||||||
|
|
||||||
if (S_ISDIR(inode->i_mode))
|
if (S_ISDIR(inode->i_mode))
|
||||||
|
@ -228,7 +228,7 @@ static inline void fsnotify_modify(struct file *file)
|
||||||
static inline void fsnotify_open(struct file *file)
|
static inline void fsnotify_open(struct file *file)
|
||||||
{
|
{
|
||||||
struct path *path = &file->f_path;
|
struct path *path = &file->f_path;
|
||||||
struct inode *inode = path->dentry->d_inode;
|
struct inode *inode = file_inode(file);
|
||||||
__u32 mask = FS_OPEN;
|
__u32 mask = FS_OPEN;
|
||||||
|
|
||||||
if (S_ISDIR(inode->i_mode))
|
if (S_ISDIR(inode->i_mode))
|
||||||
|
|
|
@ -57,7 +57,7 @@ __setup("ima_hash=", hash_setup);
|
||||||
static void ima_rdwr_violation_check(struct file *file)
|
static void ima_rdwr_violation_check(struct file *file)
|
||||||
{
|
{
|
||||||
struct dentry *dentry = file->f_path.dentry;
|
struct dentry *dentry = file->f_path.dentry;
|
||||||
struct inode *inode = dentry->d_inode;
|
struct inode *inode = file_inode(file);
|
||||||
fmode_t mode = file->f_mode;
|
fmode_t mode = file->f_mode;
|
||||||
int must_measure;
|
int must_measure;
|
||||||
bool send_tomtou = false, send_writers = false;
|
bool send_tomtou = false, send_writers = false;
|
||||||
|
|
Loading…
Reference in New Issue