[LTP] [PATCH 1/2] syscalls/prctl02: Fix PR_CAP_AMBIENT testcases
xuyang2018.jy@fujitsu.com
xuyang2018.jy@fujitsu.com
Tue Nov 22 04:06:57 CET 2022
HI Tudor
Good catch, I have merged this patchset.
Best Regards
Yang Xu
> Previously, the PR_CAP_AMBIENT testcase that expected EINVAL on nonzero
> unused argument (i.e. arg3) was erring because it had an invalid arg2.
> In this case, prctl still returns EINVAL, but the testcase description
> doesn't match the cause. Fix the description of the testcase and add a
> test that properly checks that prctl returns EINVAL on nonzero unused
> argument.
>
> Signed-off-by: Tudor Cretu <tudor.cretu@arm.com>
> ---
> testcases/kernel/syscalls/prctl/prctl02.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/prctl/prctl02.c b/testcases/kernel/syscalls/prctl/prctl02.c
> index 81cd8f336..fa9206232 100644
> --- a/testcases/kernel/syscalls/prctl/prctl02.c
> +++ b/testcases/kernel/syscalls/prctl/prctl02.c
> @@ -26,8 +26,9 @@
> * - EINVAL when options is PR_SET_THP_DISABLE & arg3, arg4, arg5 is non-zero.
> * - EINVAL when options is PR_GET_THP_DISABLE & arg2, arg3, arg4, or arg5 is
> * nonzero
> - * - EINVAL when options is PR_CAP_AMBIENT & an unused argument such as arg4
> - * is nonzero
> + * - EINVAL when options is PR_CAP_AMBIENT & arg2 has an invalid value
> + * - EINVAL when options is PR_CAP_AMBIENT & an unused argument such as arg4,
> + * arg5, or, in the case of PR_CAP_AMBIENT_CLEAR_ALL, arg3 is nonzero
> * - EINVAL when option is PR_GET_SPECULATION_CTRL and unused arguments is
> * nonzero
> * - EPERM when option is PR_SET_SECUREBITS and the caller does not have the
> @@ -69,6 +70,7 @@ static unsigned long bad_addr;
> static unsigned long num_0;
> static unsigned long num_1 = 1;
> static unsigned long num_2 = 2;
> +static unsigned long num_PR_CAP_AMBIENT_CLEAR_ALL = PR_CAP_AMBIENT_CLEAR_ALL;
> static unsigned long num_invalid = ULONG_MAX;
> static int seccomp_nsup;
> static int nonewprivs_nsup;
> @@ -96,6 +98,7 @@ static struct tcase {
> {PR_SET_THP_DISABLE, &num_0, &num_1, EINVAL, "PR_SET_THP_DISABLE"},
> {PR_GET_THP_DISABLE, &num_1, &num_1, EINVAL, "PR_GET_THP_DISABLE"},
> {PR_CAP_AMBIENT, &num_invalid, &num_0, EINVAL, "PR_CAP_AMBIENT"},
> + {PR_CAP_AMBIENT, &num_PR_CAP_AMBIENT_CLEAR_ALL, &num_1, EINVAL, "PR_CAP_AMBIENT"},
> {PR_GET_SPECULATION_CTRL, &num_0, &num_invalid, EINVAL, "PR_GET_SPECULATION_CTRL"},
> {PR_SET_SECUREBITS, &num_0, &num_0, EPERM, "PR_SET_SECUREBITS"},
> {PR_CAPBSET_DROP, &num_1, &num_0, EPERM, "PR_CAPBSET_DROP"},
More information about the ltp
mailing list