fanotify: fix incorrect fmode_t casts
authorVasily Averin <vvs@openvz.org>
Sun, 22 May 2022 12:08:02 +0000 (15:08 +0300)
committerJan Kara <jack@suse.cz>
Mon, 23 May 2022 09:42:53 +0000 (11:42 +0200)
Fixes sparce warnings:
fs/notify/fanotify/fanotify_user.c:267:63: sparse:
 warning: restricted fmode_t degrades to integer
fs/notify/fanotify/fanotify_user.c:1351:28: sparse:
 warning: restricted fmode_t degrades to integer

FMODE_NONTIFY have bitwise fmode_t type and requires __force attribute
for any casts.

Signed-off-by: Vasily Averin <vvs@openvz.org>
Reviewed-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/9adfd6ac-1b89-791e-796b-49ada3293985@openvz.org
fs/notify/fanotify/fanotify_user.c

index edad67d..b81064c 100644 (file)
@@ -264,7 +264,7 @@ static int create_fd(struct fsnotify_group *group, struct path *path,
         * originally opened O_WRONLY.
         */
        new_file = dentry_open(path,
-                              group->fanotify_data.f_flags | FMODE_NONOTIFY,
+                              group->fanotify_data.f_flags | __FMODE_NONOTIFY,
                               current_cred());
        if (IS_ERR(new_file)) {
                /*
@@ -1377,7 +1377,7 @@ SYSCALL_DEFINE2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags)
            (!(fid_mode & FAN_REPORT_NAME) || !(fid_mode & FAN_REPORT_FID)))
                return -EINVAL;
 
-       f_flags = O_RDWR | FMODE_NONOTIFY;
+       f_flags = O_RDWR | __FMODE_NONOTIFY;
        if (flags & FAN_CLOEXEC)
                f_flags |= O_CLOEXEC;
        if (flags & FAN_NONBLOCK)