]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
fanotify: Simplify cleaning of access_list
authorJan Kara <jack@suse.cz>
Wed, 9 Jan 2019 12:21:01 +0000 (13:21 +0100)
committerJan Kara <jack@suse.cz>
Mon, 18 Feb 2019 11:41:16 +0000 (12:41 +0100)
Simplify iteration cleaning access_list in fanotify_release(). That will
make following changes more obvious.

Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/notify/fanotify/fanotify_user.c

index 121c84fc55ee9965729c76ee26b716cef77be4c1..a73ada49fd3e308ccc8301695431003e0ee0ce15 100644 (file)
@@ -404,7 +404,7 @@ static ssize_t fanotify_write(struct file *file, const char __user *buf, size_t
 static int fanotify_release(struct inode *ignored, struct file *file)
 {
        struct fsnotify_group *group = file->private_data;
-       struct fanotify_perm_event *event, *next;
+       struct fanotify_perm_event *event;
        struct fsnotify_event *fsn_event;
 
        /*
@@ -419,11 +419,9 @@ static int fanotify_release(struct inode *ignored, struct file *file)
         * and simulate reply from userspace.
         */
        spin_lock(&group->notification_lock);
-       list_for_each_entry_safe(event, next, &group->fanotify_data.access_list,
-                                fae.fse.list) {
-               pr_debug("%s: found group=%p event=%p\n", __func__, group,
-                        event);
-
+       while (!list_empty(&group->fanotify_data.access_list)) {
+               event = list_first_entry(&group->fanotify_data.access_list,
+                               struct fanotify_perm_event, fae.fse.list);
                list_del_init(&event->fae.fse.list);
                event->response = FAN_ALLOW;
        }