fsnotify: return non const from fsnotify_data_inode()
authorAmir Goldstein <amir73il@gmail.com>
Wed, 8 Jul 2020 11:11:38 +0000 (14:11 +0300)
committerJan Kara <jack@suse.cz>
Wed, 15 Jul 2020 15:36:45 +0000 (17:36 +0200)
Return non const inode pointer from fsnotify_data_inode().
None of the fsnotify hooks pass const inode pointer as data and
callers often need to cast to a non const pointer.

Link: https://lore.kernel.org/r/20200708111156.24659-3-amir73il@gmail.com
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/notify/fanotify/fanotify.c
include/linux/fsnotify_backend.h

index 85eda53..d9fc83d 100644 (file)
@@ -341,7 +341,7 @@ static struct inode *fanotify_fid_inode(struct inode *to_tell, u32 event_mask,
        if (event_mask & ALL_FSNOTIFY_DIRENT_EVENTS)
                return to_tell;
 
-       return (struct inode *)fsnotify_data_inode(data, data_type);
+       return fsnotify_data_inode(data, data_type);
 }
 
 struct fanotify_event *fanotify_alloc_event(struct fsnotify_group *group,
index 1626fa7..97300f3 100644 (file)
@@ -220,12 +220,11 @@ enum fsnotify_data_type {
        FSNOTIFY_EVENT_INODE,
 };
 
-static inline const struct inode *fsnotify_data_inode(const void *data,
-                                                     int data_type)
+static inline struct inode *fsnotify_data_inode(const void *data, int data_type)
 {
        switch (data_type) {
        case FSNOTIFY_EVENT_INODE:
-               return data;
+               return (struct inode *)data;
        case FSNOTIFY_EVENT_PATH:
                return d_inode(((const struct path *)data)->dentry);
        default: