Skip to content

Commit

Permalink
fsnotify: check to make sure all fsnotify bits are unique
Browse files Browse the repository at this point in the history
This patch adds a check to make sure that all fsnotify bits are unique and we
cannot accidentally use the same bit for 2 different fsnotify event types.

Signed-off-by: Eric Paris <eparis@redhat.com>
  • Loading branch information
Eric Paris committed Jul 28, 2010
1 parent 44b350f commit 20dee62
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
2 changes: 2 additions & 0 deletions fs/notify/fsnotify.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,8 @@ EXPORT_SYMBOL_GPL(fsnotify);

static __init int fsnotify_init(void)
{
BUG_ON(hweight32(ALL_FSNOTIFY_EVENTS) != 23);

return init_srcu_struct(&fsnotify_grp_srcu);
}
subsys_initcall(fsnotify_init);
9 changes: 9 additions & 0 deletions include/linux/fsnotify_backend.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,15 @@

#define FS_MOVE (FS_MOVED_FROM | FS_MOVED_TO)

#define ALL_FSNOTIFY_EVENTS (FS_ACCESS | FS_MODIFY | FS_ATTRIB | \
FS_CLOSE_WRITE | FS_CLOSE_NOWRITE | FS_OPEN | \
FS_MOVED_FROM | FS_MOVED_TO | FS_CREATE | \
FS_DELETE | FS_DELETE_SELF | FS_MOVE_SELF | \
FS_UNMOUNT | FS_Q_OVERFLOW | FS_IN_IGNORED | \
FS_OPEN_PERM | FS_ACCESS_PERM | FS_EXCL_UNLINK | \
FS_IN_ISDIR | FS_IN_ONESHOT | FS_DN_RENAME | \
FS_DN_MULTISHOT | FS_EVENT_ON_CHILD)

struct fsnotify_group;
struct fsnotify_event;
struct fsnotify_mark;
Expand Down

0 comments on commit 20dee62

Please sign in to comment.