[LTP] [PATCH] coredump01: Skip pipe core_pattern under SELinux enforcing
Petr Vorel
pvorel@suse.cz
Mon Sep 21 10:54:03 CEST 2026
Hi Avinesh,
thanks for the fix, merged.
@Jan @Li @Michael FYI
Kind regards,
Petr
> 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);
More information about the ltp
mailing list