On Tue, Jun 21, 2022 at 06:04:33AM +0300, Amir Goldstein wrote: > On Mon, Jun 20, 2022 at 11:34 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > > On Mon, Jun 20, 2022 at 05:16:16PM +0300, Amir Goldstein wrote: > > > On Wed, May 11, 2022 at 10:02 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > > > > > > > The logic for handling events on child in groups that have a mark on > > > > the parent inode, but without FS_EVENT_ON_CHILD flag in the mask is > > > > duplicated in several places and inconsistent. > > > > > > > > Move the logic into the preparation of mark type iterator, so that the > > > > parent mark type will be excluded from all mark type iterations in that > > > > case. > > > > > > > > This results in several subtle changes of behavior, hopefully all > > > > desired changes of behavior, for example: > > > > > > > > - Group A has a mount mark with FS_MODIFY in mask > > > > - Group A has a mark with ignore mask that does not survive FS_MODIFY > > > > and does not watch children on directory D. > > > > - Group B has a mark with FS_MODIFY in mask that does watch children > > > > on directory D. > > > > - FS_MODIFY event on file D/foo should not clear the ignore mask of > > > > group A, but before this change it does > > > > > > > > And if group A ignore mask was set to survive FS_MODIFY: > > > > - FS_MODIFY event on file D/foo should be reported to group A on account > > > > of the mount mark, but before this change it is wrongly ignored > > > > > > > > Fixes: 2f02fd3fa13e ("fanotify: fix ignore mask logic for events on child and on dir") > > > > Reported-by: Jan Kara <jack@xxxxxxxx> > > > > Link: https://lore.kernel.org/linux-fsdevel/20220314113337.j7slrb5srxukztje@xxxxxxxxxx/ > > > > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> > > > > --- > > > > > > Greg, > > > > > > FYI, this needs the previous commit to apply to 5.18.y: > > > > What is "this" here? What git id? > > Sorry, this commit: > > > > e730558adffb fsnotify: consistent behavior for parent not watching children > > Needs this previous commit: > > > > 14362a254179 fsnotify: introduce mark type iterator > > > > They won't apply to earlier versions and this is a fix for a very minor bug > > > that existed forever, so no need to bother. > > > > So what exactly needs to be applied in what order and to what trees? > > > > To apply to 5.18.y. Now queued up, thanks. > Don't bother trying to apply either to earlier trees. So the Fixes: tag lied? No wonder I was confused :) thanks, greg k-h