summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorEric Paris2009-12-18 03:24:23 +0100
committerEric Paris2010-07-28 15:58:52 +0200
commit3a9fb89f4cd04c23e16397befba92efb5d989b74 (patch)
treef60b48c8cf488ad8952601ccbc6192b5f86ec900 /kernel
parentfsnotify: mount point listeners list and global mask (diff)
downloadkernel-qcow2-linux-3a9fb89f4cd04c23e16397befba92efb5d989b74.tar.gz
kernel-qcow2-linux-3a9fb89f4cd04c23e16397befba92efb5d989b74.tar.xz
kernel-qcow2-linux-3a9fb89f4cd04c23e16397befba92efb5d989b74.zip
fsnotify: include vfsmount in should_send_event when appropriate
To ensure that a group will not duplicate events when it receives it based on the vfsmount and the inode should_send_event test we should distinguish those two cases. We pass a vfsmount to this function so groups can make their own determinations. Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/audit_tree.c3
-rw-r--r--kernel/audit_watch.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c
index 04f16887406b..ecf0bf260d09 100644
--- a/kernel/audit_tree.c
+++ b/kernel/audit_tree.c
@@ -920,7 +920,8 @@ static void audit_tree_freeing_mark(struct fsnotify_mark_entry *entry, struct fs
}
static bool audit_tree_send_event(struct fsnotify_group *group, struct inode *inode,
- __u32 mask, void *data, int data_type)
+ struct vfsmount *mnt, __u32 mask, void *data,
+ int data_type)
{
return 0;
}
diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c
index 83d5f9674cec..6304ee5d7642 100644
--- a/kernel/audit_watch.c
+++ b/kernel/audit_watch.c
@@ -514,7 +514,8 @@ void audit_remove_watch_rule(struct audit_krule *krule)
}
static bool audit_watch_should_send_event(struct fsnotify_group *group, struct inode *inode,
- __u32 mask, void *data, int data_type)
+ struct vfsmount *mnt, __u32 mask, void *data,
+ int data_type)
{
struct fsnotify_mark_entry *entry;
bool send;