fsnotify: initialize mask in fsnotify_perm
authorEric Paris <eparis@redhat.com>
Wed, 12 May 2010 15:42:29 +0000 (11:42 -0400)
committerEric Paris <eparis@redhat.com>
Wed, 28 Jul 2010 13:59:02 +0000 (09:59 -0400)
akpm got a warning the fsnotify_mask could be used uninitialized in
fsnotify_perm().  It's not actually possible but his compiler complained
about it.  This patch just initializes it to 0 to shut up the compiler.

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Eric Paris <eparis@redhat.com>
include/linux/fsnotify.h

index 64efda9aae628c3d2ee3581fb351be9a36d6c902..59d0df43ff9d5ef649fd109228ded45f37579d84 100644 (file)
@@ -39,16 +39,18 @@ static inline int fsnotify_perm(struct file *file, int mask)
 {
        struct path *path = &file->f_path;
        struct inode *inode = path->dentry->d_inode;
-       __u32 fsnotify_mask;
+       __u32 fsnotify_mask = 0;
 
        if (file->f_mode & FMODE_NONOTIFY)
                return 0;
        if (!(mask & (MAY_READ | MAY_OPEN)))
                return 0;
-       if (mask & MAY_READ)
-               fsnotify_mask = FS_ACCESS_PERM;
        if (mask & MAY_OPEN)
                fsnotify_mask = FS_OPEN_PERM;
+       else if (mask & MAY_READ)
+               fsnotify_mask = FS_ACCESS_PERM;
+       else
+               BUG();
 
        return fsnotify(inode, fsnotify_mask, path, FSNOTIFY_EVENT_PATH, NULL, 0);
 }