** 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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to