fsnotify: call fsnotify_parent in perm events

fsnotify perm events do not call fsnotify parent.  That means you cannot
register a perm event on a directory and enforce permissions on all inodes in
that directory.  This patch fixes that situation.

Signed-off-by: Eric Paris <eparis@redhat.com>
This commit is contained in:
Eric Paris 2010-10-28 17:21:56 -04:00
parent ff8bcbd03d
commit 52420392c8
3 changed files with 21 additions and 11 deletions

View file

@ -304,7 +304,7 @@ struct fsnotify_mark {
/* main fsnotify call to send events */
extern int fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is,
const unsigned char *name, u32 cookie);
extern void __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask);
extern int __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask);
extern void __fsnotify_inode_delete(struct inode *inode);
extern void __fsnotify_vfsmount_delete(struct vfsmount *mnt);
extern u32 fsnotify_get_cookie(void);
@ -433,8 +433,10 @@ static inline int fsnotify(struct inode *to_tell, __u32 mask, void *data, int da
return 0;
}
static inline void __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask)
{}
static inline int __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask)
{
return 0;
}
static inline void __fsnotify_inode_delete(struct inode *inode)
{}