[LTP] [PATCH] syscalls/prctl04: Fix false positive report when SECCOMP_MODE_FILTER is not supported
He Zhe
zhe.he@windriver.com
Sat Nov 19 14:05:57 CET 2022
On 11/18/22 21:33, Cyril Hrubis wrote:
> Hi!
> I did reply to the github issue already with:
Thanks for taking care of this. I'll send v2.
Zhe
>
> Looking at the patch, maybe it would be cleaner if we did a test if
> SECCOMP_MODE_FILTER is supported in the test setup and set up a global
> variable based on that, something as:
>
> diff --git a/testcases/kernel/syscalls/prctl/prctl04.c b/testcases/kernel/syscalls/prctl/prctl04.c
> index b9f4c2a10..d4e44cb1b 100644
> --- a/testcases/kernel/syscalls/prctl/prctl04.c
> +++ b/testcases/kernel/syscalls/prctl/prctl04.c
> @@ -61,6 +61,8 @@ static const struct sock_fprog strict = {
> .filter = (struct sock_filter *)strict_filter
> };
>
> +static int mode_filter_supported;
> +
> static void check_strict_mode(int);
> static void check_filter_mode(int);
>
> @@ -219,6 +221,16 @@ static void setup(void)
> TEST(prctl(PR_GET_SECCOMP));
> if (TST_RET == 0) {
> tst_res(TINFO, "kernel support PR_GET/SET_SECCOMP");
> +
> + TEST(prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, NULL));
> +
> + if (TST_ERR == EFAULT) {
> + mode_filter_supported = 1;
> + tst_res(TINFO, "kernel support SECCOMP_MODE_FILTER");
> + return;
> + }
> +
> + tst_res(TINFO, "kernel doesn't support SECCOMP_MODE_FILTER");
> return;
> }
>
> Then we can simply use the mode_filter_supported either not to print the
> failure or even to skip the test to begin with.
>
More information about the ltp
mailing list