dev-util/ltrace: skip the attach-process test

On modern kernels with the Yama security module enabled the default
ptrace behaviour is that a process must have a predefined relationship
with the inferior it wants to call ``PTRACE_ATTACH`` on, with two
additional modes restricting process tracing even more; for details see
[1]. As a result, unless Yama is explicitly reset to classic ptrace
permissions the ltrace attach-process test fails due to
insufficient permissions - regardless of the sandbox, or even when the
test suite is run manually with no involvement of a Gentoo package
manager.

We could in principle modify the test in question to be compatible with
restricted-ptrace mode, however it would still fail on systems with
Yama in admin-attach and no-attach mode. Between that and requiring the
user to reconfigure Yama prior to running this test being IMHO a Bad
Idea, just don't bother with this test at all.

[1] https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html

Closes: https://bugs.gentoo.org/729046
Signed-off-by: Marek Szuba <marecki@gentoo.org>
This commit is contained in:
Marek Szuba
2021-07-13 11:57:54 +01:00
parent be520209b2
commit ea8a4b3bcf
2 changed files with 8 additions and 0 deletions

View File

@@ -71,6 +71,10 @@ src_configure() {
}
src_test() {
# On kernels with Yama enabled this will not run, even without sandbox,
# unless /proc/sys/kernel/yama/ptrace_scope == 0. Just don't bother.
# Note: we only delete it here in order to avoid Makefile.am patching.
rm -f testsuite/ltrace.minor/attach-process.exp
# sandbox redirects vfork() to fork(): bug # 774054
# Let's avoid sandbox entirely.
SANDBOX_ON=0 LD_PRELOAD= emake check

View File

@@ -70,6 +70,10 @@ src_configure() {
}
src_test() {
# On kernels with Yama enabled this will not run, even without sandbox,
# unless /proc/sys/kernel/yama/ptrace_scope == 0. Just don't bother.
# Note: we only delete it here in order to avoid Makefile.am patching.
rm -f testsuite/ltrace.minor/attach-process.exp
# sandbox redirects vfork() to fork(): bug # 774054
# Let's avoid sandbox entirely.
SANDBOX_ON=0 LD_PRELOAD= emake check