[LTP] [PATCH] coredump01: Skip pipe core_pattern under SELinux enforcing

Avinesh Kumar avinesh.kumar@suse.com
Fri Sep 18 21:43:08 CEST 2026


From: Avinesh Kumar <avinesh.kumar@suse.com>

SELinux in enforcing mode silently blocks the kernel's usermode-helper
spawn for the piped core_pattern, so the helper never runs and the
test reports FAIL.

coredump01.c:126: TINFO: Testing pipe core_pattern
coredump01.c:100: TFAIL: coredump01_helper did not report any core dump

Skip with TCONF instead of failing.

Signed-off-by: Avinesh Kumar <avinesh.kumar@suse.com>
---
 testcases/kernel/coredump/coredump01.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/testcases/kernel/coredump/coredump01.c b/testcases/kernel/coredump/coredump01.c
index c4fb92e4dcb0..15aaf8c56143 100644
--- a/testcases/kernel/coredump/coredump01.c
+++ b/testcases/kernel/coredump/coredump01.c
@@ -31,12 +31,14 @@
 
 #include "coredump_common.h"
 #include "tst_kconfig.h"
+#include "tst_security.h"
 
 #define HELPER "coredump01_helper"
 #define HELPER_TIMEOUT 10
 
 static char helper_path[PATH_MAX];
 static int static_usermodehelper;
+static int selinux_enforcing;
 
 /*
  * e_ident[] and e_type live at the same file offset in ELF32 and ELF64,
@@ -89,6 +91,11 @@ static void verify_pipe_pattern(void)
 		return;
 	}
 
+	if (selinux_enforcing) {
+		tst_res(TCONF, "SELinux is enforcing, skipping pipe core_pattern");
+		return;
+	}
+
 	set_pattern("|%s %%e %%p %%s %s/res.%%p", helper_path, cwd);
 
 	pid = crash_child();
@@ -137,6 +144,8 @@ static void setup(void)
 	tst_kconfig_read(&kconfig, 1);
 	static_usermodehelper = (kconfig.choice == 'y');
 
+	selinux_enforcing = tst_selinux_enforcing();
+
 	if (tst_get_path(HELPER, path, sizeof(path)))
 		tst_brk(TCONF, "'%s' not found in $PATH", HELPER);
 
-- 
2.55.0



More information about the ltp mailing list