** Changed in: linux (Ubuntu Bionic)
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1802454

Title:
  fanotify10 in ubuntu_ltp_syscalls failed

Status in ubuntu-kernel-tests:
  In Progress
Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Trusty:
  New
Status in linux source package in Xenial:
  New
Status in linux source package in Bionic:
  Fix Committed
Status in linux source package in Cosmic:
  New

Bug description:
  == 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 we might be able to backport
  it with the same logic, but I think we should target Bionic as it's a fix for
  for 92183a42898d which was only applied to Bionic.

  == Regression Potential ==
  Low.

  The backport work is required as it's missing commit 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 without this
  commit.

  The test with the syscalls test in LTP test suite shows no sign of
  regression.

  == 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)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1802454/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to