** Description changed:
+ == Justification ==
+ Commit 92183a42898d ("fsnotify: fix ignore mask logic in
+ send_to_group()") acknowledges the use case of ignoring an event on
+ an inode mark, because of an ignore mask on a mount mark of the same
+ group (i.e. I want to get all events on this file, except for the events
+ that came from that mount).
+
+ This change depends on correctly merging the inode marks and mount marks
+ group lists, so that the mount mark ignore mask would be tested in
+ send_to_group(). Alas, the merging of the lists did not take into
+ account the case where event in question is not in the mask of any of
+ the mount marks.
+
+ To fix this, completely remove the tests for inode and mount event masks
+ from the lists merging code.
+
+ == Fix ==
+ 9bdda4e9 (fsnotify: fix ignore mask logic in fsnotify())
+
+ Test kernels for Bionic can be found here:
+ http://people.canonical.com/~phlin/kernel/lp-1802454-fanotify10/bionic/
+
+ It seems that T/X poses with the same issue and the patch can be
+ backported with the same logic, but we should target Bionic only as it's
+ a fix for 92183a42898d which was only applied to Bionic.
+
+ == Regression Potential ==
+ Low.
+
+ The backport work is required because it's missing another patch 47d9c7cc457
in Bionic, which generalizes the iteration of marks for inode_mark and
vfsmount_mark, from:
+ iter_info.inode_mark
+ to:
+ iter_info.marks[FSNOTIFY_OBJ_TYPE_INODE]
+
+ But the patch can still be backported with the same logic.
+
+ == Test Case ==
+ Run the fanotify10 test in ubuntu_ltp_syscalls test suite. And it will pass
with the patched kernel.
+
+ Full LTP syscalls test with 4.15.0-42 in -proposed:
+ http://paste.ubuntu.com/p/Wm8nQ932g6/
+
+ Full LTP syscalls test with patched 4.15.0-42:
+ http://paste.ubuntu.com/p/nv4jW6shpJ/
+
+
+ -----
+
+
This is a new test case that landed 7 days ago.
<<<test_start>>>
tag=fanotify10 stime=1541744937
cmdline="fanotify10"
contacts=""
analysis=exit
<<<test_output>>>
incrementing stop
tst_device.c:230: INFO: Using test device LTP_DEV='/dev/loop1'
tst_mkfs.c:90: INFO: Formatting /dev/loop1 with ext2 opts='' extra opts=''
mke2fs 1.44.1 (24-Mar-2018)
tst_test.c:1085: INFO: Timeout per run is 0h 05m 00s
fanotify10.c:199: INFO: Test #0: ignore mount events created on a specific
file
fanotify10.c:187: PASS: group 0 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 1 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 2 got event: mask 20 pid=2840 fd=15
fanotify10.c:264: PASS: group 0 (prio 1) with FAN_MARK_MOUNT and
FAN_MARK_INODE ignore mask got no event
fanotify10.c:264: PASS: group 1 (prio 1) with FAN_MARK_MOUNT and
FAN_MARK_INODE ignore mask got no event
fanotify10.c:264: PASS: group 2 (prio 1) with FAN_MARK_MOUNT and
FAN_MARK_INODE ignore mask got no event
fanotify10.c:264: PASS: group 0 (prio 2) with FAN_MARK_MOUNT and
FAN_MARK_INODE ignore mask got no event
fanotify10.c:264: PASS: group 1 (prio 2) with FAN_MARK_MOUNT and
FAN_MARK_INODE ignore mask got no event
fanotify10.c:264: PASS: group 2 (prio 2) with FAN_MARK_MOUNT and
FAN_MARK_INODE ignore mask got no event
fanotify10.c:199: INFO: Test #1: don't ignore mount events created on another
file
fanotify10.c:187: PASS: group 0 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 1 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 2 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 0 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 1 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 2 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 0 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 1 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 2 got event: mask 20 pid=2840 fd=15
fanotify10.c:199: INFO: Test #2: ignore inode events created on a specific
mount point
fanotify10.c:187: PASS: group 0 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 1 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 2 got event: mask 20 pid=2840 fd=15
fanotify10.c:258: FAIL: group 0 (prio 1) with FAN_MARK_INODE and
FAN_MARK_MOUNT ignore mask got event
fanotify10.c:258: FAIL: group 1 (prio 1) with FAN_MARK_INODE and
FAN_MARK_MOUNT ignore mask got event
fanotify10.c:258: FAIL: group 2 (prio 1) with FAN_MARK_INODE and
FAN_MARK_MOUNT ignore mask got event
fanotify10.c:258: FAIL: group 0 (prio 2) with FAN_MARK_INODE and
FAN_MARK_MOUNT ignore mask got event
fanotify10.c:258: FAIL: group 1 (prio 2) with FAN_MARK_INODE and
FAN_MARK_MOUNT ignore mask got event
fanotify10.c:258: FAIL: group 2 (prio 2) with FAN_MARK_INODE and
FAN_MARK_MOUNT ignore mask got event
fanotify10.c:199: INFO: Test #3: don't ignore inode events created on another
mount point
fanotify10.c:187: PASS: group 0 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 1 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 2 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 0 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 1 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 2 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 0 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 1 got event: mask 20 pid=2840 fd=15
fanotify10.c:187: PASS: group 2 got event: mask 20 pid=2840 fd=15
Summary:
passed 30
failed 6
skipped 0
warnings 0
<<<execution_status>>>
initiation_status="ok"
duration=1 termination_type=exited termination_id=1 corefile=no
cutime=0 cstime=1
<<<test_end>>>
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: linux-image-4.18.0-11-generic 4.18.0-11.12~18.04.1
ProcVersionSignature: User Name 4.18.0-11.12~18.04.1-generic 4.18.12
Uname: Linux 4.18.0-11-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.4
Architecture: amd64
Date: Fri Nov 9 06:24:06 2018
SourcePackage: linux-signed-hwe-edge
UpgradeStatus: No upgrade log present (probably fresh install)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1802454
Title:
fanotify10 in ubuntu_ltp_syscalls failed
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1802454/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs