From: Greg Kroah-Hartman Date: Mon, 19 Nov 2018 13:47:30 +0000 (+0100) Subject: drop fanotify patch from 4.19 X-Git-Tag: v4.19.3~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=543b01c417e6e34c375c21c5539869779bb19637;p=thirdparty%2Fkernel%2Fstable-queue.git drop fanotify patch from 4.19 --- diff --git a/queue-4.19/fanotify-fix-handling-of-events-on-child-sub-directory.patch b/queue-4.19/fanotify-fix-handling-of-events-on-child-sub-directory.patch deleted file mode 100644 index da99a9a8f5e..00000000000 --- a/queue-4.19/fanotify-fix-handling-of-events-on-child-sub-directory.patch +++ /dev/null @@ -1,84 +0,0 @@ -From b469e7e47c8a075cc08bcd1e85d4365134bdcdd5 Mon Sep 17 00:00:00 2001 -From: Amir Goldstein -Date: Tue, 30 Oct 2018 20:29:53 +0200 -Subject: fanotify: fix handling of events on child sub-directory - -From: Amir Goldstein - -commit b469e7e47c8a075cc08bcd1e85d4365134bdcdd5 upstream. - -When an event is reported on a sub-directory and the parent inode has -a mark mask with FS_EVENT_ON_CHILD|FS_ISDIR, the event will be sent to -fsnotify() even if the event type is not in the parent mark mask -(e.g. FS_OPEN). - -Further more, if that event happened on a mount or a filesystem with -a mount/sb mark that does have that event type in their mask, the "on -child" event will be reported on the mount/sb mark. That is not -desired, because user will get a duplicate event for the same action. - -Note that the event reported on the victim inode is never merged with -the event reported on the parent inode, because of the check in -should_merge(): old_fsn->inode == new_fsn->inode. - -Fix this by looking for a match of an actual event type (i.e. not just -FS_ISDIR) in parent's inode mark mask and by not reporting an "on child" -event to group if event type is only found on mount/sb marks. - -[backport hint: The bug seems to have always been in fanotify, but this - patch will only apply cleanly to v4.19.y] - -Cc: # v4.19 -Signed-off-by: Amir Goldstein -Signed-off-by: Jan Kara -Signed-off-by: Greg Kroah-Hartman - ---- - fs/notify/fanotify/fanotify.c | 10 +++++----- - fs/notify/fsnotify.c | 7 +++++-- - 2 files changed, 10 insertions(+), 7 deletions(-) - ---- a/fs/notify/fanotify/fanotify.c -+++ b/fs/notify/fanotify/fanotify.c -@@ -115,12 +115,12 @@ static bool fanotify_should_send_event(s - continue; - mark = iter_info->marks[type]; - /* -- * if the event is for a child and this inode doesn't care about -- * events on the child, don't send it! -+ * If the event is for a child and this mark doesn't care about -+ * events on a child, don't send it! - */ -- if (type == FSNOTIFY_OBJ_TYPE_INODE && -- (event_mask & FS_EVENT_ON_CHILD) && -- !(mark->mask & FS_EVENT_ON_CHILD)) -+ if (event_mask & FS_EVENT_ON_CHILD && -+ (type != FSNOTIFY_OBJ_TYPE_INODE || -+ !(mark->mask & FS_EVENT_ON_CHILD))) - continue; - - marks_mask |= mark->mask; ---- a/fs/notify/fsnotify.c -+++ b/fs/notify/fsnotify.c -@@ -161,9 +161,9 @@ int __fsnotify_parent(const struct path - parent = dget_parent(dentry); - p_inode = parent->d_inode; - -- if (unlikely(!fsnotify_inode_watches_children(p_inode))) -+ if (unlikely(!fsnotify_inode_watches_children(p_inode))) { - __fsnotify_update_child_dentry_flags(p_inode); -- else if (p_inode->i_fsnotify_mask & mask) { -+ } else if (p_inode->i_fsnotify_mask & mask & ALL_FSNOTIFY_EVENTS) { - struct name_snapshot name; - - /* we are notifying a parent so come up with the new mask which -@@ -360,6 +360,9 @@ int fsnotify(struct inode *to_tell, __u3 - iter_info.marks[FSNOTIFY_OBJ_TYPE_VFSMOUNT] = - fsnotify_first_mark(&mnt->mnt_fsnotify_marks); - } -+ /* An event "on child" is not intended for a mount/sb mark */ -+ if (mask & FS_EVENT_ON_CHILD) -+ mnt_or_sb_mask = 0; - - /* - * We need to merge inode & vfsmount mark lists so that inode mark diff --git a/queue-4.19/series b/queue-4.19/series index 6cec08a42ef..4c3901c1f54 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -163,7 +163,6 @@ selinux-check-length-properly-in-sctp-bind-hook.patch gfs2-put-bitmap-buffers-in-put_super.patch gfs2-fix-metadata-read-ahead-during-truncate-2.patch libata-blacklist-samsung-mz7td256hafv-000l9-ssd.patch -fanotify-fix-handling-of-events-on-child-sub-directory.patch crypto-user-fix-leaking-uninitialized-memory-to-userspace.patch lib-ubsan.c-don-t-mark-__ubsan_handle_builtin_unreachable-as-noreturn.patch hugetlbfs-fix-kernel-bug-at-fs-hugetlbfs-inode.c-444.patch