Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62c9d267 authored by ZhangXiaoxu's avatar ZhangXiaoxu Committed by Jan Kara
Browse files

inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch()



Commit 4d97f7d5 ("inotify: Add flag IN_MASK_CREATE for
inotify_add_watch()") forgot to call fsnotify_put_mark() with
IN_MASK_CREATE after fsnotify_find_mark()

Fixes: 4d97f7d5 ("inotify: Add flag IN_MASK_CREATE for inotify_add_watch()")
Signed-off-by: default avatarZhangXiaoxu <zhangxiaoxu5@huawei.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 12ad143e
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -519,8 +519,10 @@ static int inotify_update_existing_watch(struct fsnotify_group *group,
	fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, group);
	if (!fsn_mark)
		return -ENOENT;
	else if (create)
		return -EEXIST;
	else if (create) {
		ret = -EEXIST;
		goto out;
	}

	i_mark = container_of(fsn_mark, struct inotify_inode_mark, fsn_mark);

@@ -548,6 +550,7 @@ static int inotify_update_existing_watch(struct fsnotify_group *group,
	/* return the wd */
	ret = i_mark->wd;

out:
	/* match the get from fsnotify_find_mark() */
	fsnotify_put_mark(fsn_mark);