2018-11-09 06:44:17 |
Po-Hsu Lin |
bug |
|
|
added bug |
2018-11-09 06:44:39 |
Po-Hsu Lin |
nominated for series |
|
Ubuntu Bionic |
|
2018-11-09 06:44:39 |
Po-Hsu Lin |
nominated for series |
|
Ubuntu Xenial |
|
2018-11-09 06:44:48 |
Po-Hsu Lin |
affects |
linux-signed-hwe-edge (Ubuntu) |
linux (Ubuntu) |
|
2018-11-09 06:49:49 |
Po-Hsu Lin |
nominated for series |
|
Ubuntu Cosmic |
|
2018-11-09 06:49:49 |
Po-Hsu Lin |
nominated for series |
|
Ubuntu Trusty |
|
2018-11-09 06:50:00 |
Po-Hsu Lin |
bug task added |
|
ubuntu-kernel-tests |
|
2018-11-09 07:00:06 |
Ubuntu Kernel Bot |
linux (Ubuntu): status |
New |
Incomplete |
|
2018-11-16 11:15:56 |
Po-Hsu Lin |
ubuntu-kernel-tests: status |
New |
In Progress |
|
2018-11-16 11:16:00 |
Po-Hsu Lin |
ubuntu-kernel-tests: assignee |
|
Po-Hsu Lin (cypressyew) |
|
2018-11-16 11:16:01 |
Po-Hsu Lin |
linux (Ubuntu): assignee |
|
Po-Hsu Lin (cypressyew) |
|
2018-11-16 11:16:03 |
Po-Hsu Lin |
linux (Ubuntu): status |
Incomplete |
In Progress |
|
2018-11-16 11:17:43 |
Po-Hsu Lin |
tags |
amd64 apport-bug bionic package-from-proposed uec-images |
amd64 apport-bug bionic cosmic package-from-proposed trusty uec-images xenial |
|
2018-11-22 08:55:24 |
Po-Hsu Lin |
description |
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) |
== 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) |
|
2018-11-22 09:27:44 |
Po-Hsu Lin |
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 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) |
== 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 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) |
|
2018-11-22 11:30:01 |
Po-Hsu Lin |
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 the patch can be backported
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) |
== 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) |
|
2018-11-26 18:35:05 |
Dexuan Cui |
bug |
|
|
added subscriber Dexuan Cui |
2018-11-28 14:31:57 |
Kleber Sacilotto de Souza |
bug task added |
|
linux (Ubuntu Bionic) |
|
2018-11-28 14:32:02 |
Kleber Sacilotto de Souza |
bug task added |
|
linux (Ubuntu Cosmic) |
|
2018-11-28 14:32:07 |
Kleber Sacilotto de Souza |
bug task added |
|
linux (Ubuntu Trusty) |
|
2018-11-28 14:32:13 |
Kleber Sacilotto de Souza |
bug task added |
|
linux (Ubuntu Xenial) |
|
2018-11-28 14:32:39 |
Kleber Sacilotto de Souza |
linux (Ubuntu Bionic): status |
New |
In Progress |
|
2019-01-09 15:09:09 |
Kleber Sacilotto de Souza |
linux (Ubuntu Bionic): status |
In Progress |
Fix Committed |
|
2019-01-15 10:37:44 |
Brad Figg |
tags |
amd64 apport-bug bionic cosmic package-from-proposed trusty uec-images xenial |
amd64 apport-bug bionic cosmic package-from-proposed trusty uec-images verification-needed-bionic xenial |
|
2019-01-22 03:58:17 |
Po-Hsu Lin |
tags |
amd64 apport-bug bionic cosmic package-from-proposed trusty uec-images verification-needed-bionic xenial |
amd64 apport-bug bionic cosmic package-from-proposed trusty uec-images verification-done-bionic xenial |
|
2019-01-28 17:12:01 |
Launchpad Janitor |
linux (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2019-01-28 17:12:01 |
Launchpad Janitor |
cve linked |
|
2018-14625 |
|
2019-01-28 17:12:01 |
Launchpad Janitor |
cve linked |
|
2018-16882 |
|
2019-01-28 17:12:01 |
Launchpad Janitor |
cve linked |
|
2018-17972 |
|
2019-01-28 17:12:01 |
Launchpad Janitor |
cve linked |
|
2018-18281 |
|
2019-01-28 17:12:01 |
Launchpad Janitor |
cve linked |
|
2018-19407 |
|
2019-03-20 08:10:55 |
Po-Hsu Lin |
linux (Ubuntu Cosmic): status |
New |
Fix Released |
|
2019-03-20 08:11:38 |
Po-Hsu Lin |
linux (Ubuntu): status |
In Progress |
Fix Released |
|
2019-07-24 21:30:12 |
Brad Figg |
tags |
amd64 apport-bug bionic cosmic package-from-proposed trusty uec-images verification-done-bionic xenial |
amd64 apport-bug bionic cosmic cscc package-from-proposed trusty uec-images verification-done-bionic xenial |
|
2019-09-16 12:24:59 |
Po-Hsu Lin |
ubuntu-kernel-tests: status |
In Progress |
Confirmed |
|
2019-09-16 12:25:05 |
Po-Hsu Lin |
ubuntu-kernel-tests: assignee |
Po-Hsu Lin (cypressyew) |
|
|
2019-09-16 12:25:16 |
Po-Hsu Lin |
tags |
amd64 apport-bug bionic cosmic cscc package-from-proposed trusty uec-images verification-done-bionic xenial |
amd64 apport-bug bionic cosmic cscc package-from-proposed trusty ubuntu-ltp-syscalls uec-images verification-done-bionic xenial |
|
2020-03-19 16:07:18 |
Po-Hsu Lin |
tags |
amd64 apport-bug bionic cosmic cscc package-from-proposed trusty ubuntu-ltp-syscalls uec-images verification-done-bionic xenial |
amd64 apport-bug bionic cosmic cscc package-from-proposed sru-20200316 trusty ubuntu-ltp-syscalls uec-images verification-done-bionic xenial |
|
2020-07-27 06:44:06 |
Po-Hsu Lin |
nominated for series |
|
Ubuntu Focal |
|
2020-07-27 06:44:06 |
Po-Hsu Lin |
bug task added |
|
linux (Ubuntu Focal) |
|
2020-07-27 06:44:13 |
Po-Hsu Lin |
linux (Ubuntu Focal): status |
New |
Confirmed |
|
2020-07-27 06:47:05 |
Po-Hsu Lin |
linux (Ubuntu Focal): status |
Confirmed |
Fix Released |
|
2020-08-10 04:31:01 |
Po-Hsu Lin |
tags |
amd64 apport-bug bionic cosmic cscc package-from-proposed sru-20200316 trusty ubuntu-ltp-syscalls uec-images verification-done-bionic xenial |
amd64 apport-bug bionic cosmic cscc package-from-proposed sru-20200316 sru-20200629 sru-20200720 trusty ubuntu-ltp-syscalls uec-images verification-done-bionic xenial |
|
2020-11-17 04:34:03 |
Po-Hsu Lin |
tags |
amd64 apport-bug bionic cosmic cscc package-from-proposed sru-20200316 sru-20200629 sru-20200720 trusty ubuntu-ltp-syscalls uec-images verification-done-bionic xenial |
amd64 apport-bug bionic cosmic cscc package-from-proposed sru-20200316 sru-20200629 sru-20200720 sru-20201109 trusty ubuntu-ltp-syscalls uec-images verification-done-bionic xenial |
|