aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/notify/dnotify/dnotify.c2
-rw-r--r--fs/notify/group.c8
-rw-r--r--fs/notify/inotify/inotify_user.c2
-rw-r--r--include/linux/fsnotify_backend.h3
-rw-r--r--kernel/audit_tree.c2
-rw-r--r--kernel/audit_watch.c2
6 files changed, 6 insertions, 13 deletions
diff --git a/fs/notify/dnotify/dnotify.c b/fs/notify/dnotify/dnotify.c
index 51e4fe33d6bb..e0a847bd53be 100644
--- a/fs/notify/dnotify/dnotify.c
+++ b/fs/notify/dnotify/dnotify.c
@@ -433,7 +433,7 @@ static int __init dnotify_init(void)
433 dnotify_struct_cache = KMEM_CACHE(dnotify_struct, SLAB_PANIC); 433 dnotify_struct_cache = KMEM_CACHE(dnotify_struct, SLAB_PANIC);
434 dnotify_mark_entry_cache = KMEM_CACHE(dnotify_mark_entry, SLAB_PANIC); 434 dnotify_mark_entry_cache = KMEM_CACHE(dnotify_mark_entry, SLAB_PANIC);
435 435
436 dnotify_group = fsnotify_alloc_group(0, &dnotify_fsnotify_ops); 436 dnotify_group = fsnotify_alloc_group(&dnotify_fsnotify_ops);
437 if (IS_ERR(dnotify_group)) 437 if (IS_ERR(dnotify_group))
438 panic("unable to allocate fsnotify group for dnotify\n"); 438 panic("unable to allocate fsnotify group for dnotify\n");
439 return 0; 439 return 0;
diff --git a/fs/notify/group.c b/fs/notify/group.c
index 1d20d26d5fee..1657349c30a6 100644
--- a/fs/notify/group.c
+++ b/fs/notify/group.c
@@ -164,8 +164,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
164/* 164/*
165 * Create a new fsnotify_group and hold a reference for the group returned. 165 * Create a new fsnotify_group and hold a reference for the group returned.
166 */ 166 */
167struct fsnotify_group *fsnotify_alloc_group(__u32 mask, 167struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
168 const struct fsnotify_ops *ops)
169{ 168{
170 struct fsnotify_group *group; 169 struct fsnotify_group *group;
171 170
@@ -175,8 +174,6 @@ struct fsnotify_group *fsnotify_alloc_group(__u32 mask,
175 174
176 atomic_set(&group->refcnt, 1); 175 atomic_set(&group->refcnt, 1);
177 176
178 group->mask = mask;
179
180 mutex_init(&group->notification_mutex); 177 mutex_init(&group->notification_mutex);
181 INIT_LIST_HEAD(&group->notification_list); 178 INIT_LIST_HEAD(&group->notification_list);
182 init_waitqueue_head(&group->notification_waitq); 179 init_waitqueue_head(&group->notification_waitq);
@@ -196,8 +193,5 @@ struct fsnotify_group *fsnotify_alloc_group(__u32 mask,
196 193
197 mutex_unlock(&fsnotify_grp_mutex); 194 mutex_unlock(&fsnotify_grp_mutex);
198 195
199 if (mask)
200 fsnotify_recalc_global_mask();
201
202 return group; 196 return group;
203} 197}
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index 25a2854186e9..a48d68a68b25 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -695,7 +695,7 @@ static struct fsnotify_group *inotify_new_group(struct user_struct *user, unsign
695{ 695{
696 struct fsnotify_group *group; 696 struct fsnotify_group *group;
697 697
698 group = fsnotify_alloc_group(0, &inotify_fsnotify_ops); 698 group = fsnotify_alloc_group(&inotify_fsnotify_ops);
699 if (IS_ERR(group)) 699 if (IS_ERR(group))
700 return group; 700 return group;
701 701
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h
index 7d3c03e46862..58326049ab29 100644
--- a/include/linux/fsnotify_backend.h
+++ b/include/linux/fsnotify_backend.h
@@ -305,8 +305,7 @@ static inline void __fsnotify_d_instantiate(struct dentry *dentry, struct inode
305/* must call when a group changes its ->mask */ 305/* must call when a group changes its ->mask */
306extern void fsnotify_recalc_global_mask(void); 306extern void fsnotify_recalc_global_mask(void);
307/* get a reference to an existing or create a new group */ 307/* get a reference to an existing or create a new group */
308extern struct fsnotify_group *fsnotify_alloc_group(__u32 mask, 308extern struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops);
309 const struct fsnotify_ops *ops);
310/* run all marks associated with this group and update group->mask */ 309/* run all marks associated with this group and update group->mask */
311extern void fsnotify_recalc_group_mask(struct fsnotify_group *group); 310extern void fsnotify_recalc_group_mask(struct fsnotify_group *group);
312/* drop reference on a group from fsnotify_alloc_group */ 311/* drop reference on a group from fsnotify_alloc_group */
diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c
index 813274d4edad..04f16887406b 100644
--- a/kernel/audit_tree.c
+++ b/kernel/audit_tree.c
@@ -937,7 +937,7 @@ static int __init audit_tree_init(void)
937{ 937{
938 int i; 938 int i;
939 939
940 audit_tree_group = fsnotify_alloc_group(0, &audit_tree_ops); 940 audit_tree_group = fsnotify_alloc_group(&audit_tree_ops);
941 if (IS_ERR(audit_tree_group)) 941 if (IS_ERR(audit_tree_group))
942 audit_panic("cannot initialize fsnotify group for rectree watches"); 942 audit_panic("cannot initialize fsnotify group for rectree watches");
943 943
diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c
index 87408b282118..83d5f9674cec 100644
--- a/kernel/audit_watch.c
+++ b/kernel/audit_watch.c
@@ -585,7 +585,7 @@ static const struct fsnotify_ops audit_watch_fsnotify_ops = {
585 585
586static int __init audit_watch_init(void) 586static int __init audit_watch_init(void)
587{ 587{
588 audit_watch_group = fsnotify_alloc_group(0, &audit_watch_fsnotify_ops); 588 audit_watch_group = fsnotify_alloc_group(&audit_watch_fsnotify_ops);
589 if (IS_ERR(audit_watch_group)) { 589 if (IS_ERR(audit_watch_group)) {
590 audit_watch_group = NULL; 590 audit_watch_group = NULL;
591 audit_panic("cannot create audit fsnotify group"); 591 audit_panic("cannot create audit fsnotify group");