[PATCH v4 2/2] selftests/bpf: Enable private stack tests for powerpc64
Venkat
venkat88 at linux.ibm.com
Thu Feb 26 17:54:48 AEDT 2026
> On 26 Feb 2026, at 8:43 AM, adubey at linux.ibm.com wrote:
>
> From: Abhishek Dubey <adubey at linux.ibm.com>
>
> With support of private stack, relevant tests must pass
> on powerpc64.
>
> #./test_progs -t struct_ops_private_stack
> #434/1 struct_ops_private_stack/private_stack:OK
> #434/2 struct_ops_private_stack/private_stack_fail:OK
> #434/3 struct_ops_private_stack/private_stack_recur:OK
> #434 struct_ops_private_stack:OK
> Summary: 1/3 PASSED, 0 SKIPPED, 0 FAILED
>
> v2->v3:
> Enable testcase using __powerpc64__ instead of __TARGET_ARCH_powerpc,
> to prevent it getting invoked on powerpc32
>
> [v2]: https://lore.kernel.org/bpf/20260225153950.15331-1-adubey@linux.ibm.com
>
> Signed-off-by: Abhishek Dubey <adubey at linux.ibm.com>
./test_progs -t struct_ops_private_stack
#440/1 struct_ops_private_stack/private_stack:OK
#440/2 struct_ops_private_stack/private_stack_fail:OK
#440/3 struct_ops_private_stack/private_stack_recur:OK
#440 struct_ops_private_stack:OK
Summary: 1/3 PASSED, 0 SKIPPED, 0 FAILED
Tested-by: Venkat Rao Bagalkote <venkat88 at linux.ibm.com>
Regards,
Venkat.
> ---
> .../bpf/prog_tests/struct_ops_private_stack.c | 29 +++++++++----------
> .../bpf/progs/struct_ops_private_stack.c | 6 ----
> .../bpf/progs/struct_ops_private_stack_fail.c | 6 ----
> .../progs/struct_ops_private_stack_recur.c | 6 ----
> 4 files changed, 13 insertions(+), 34 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/struct_ops_private_stack.c b/tools/testing/selftests/bpf/prog_tests/struct_ops_private_stack.c
> index 4006879ca3fe..afad3522b772 100644
> --- a/tools/testing/selftests/bpf/prog_tests/struct_ops_private_stack.c
> +++ b/tools/testing/selftests/bpf/prog_tests/struct_ops_private_stack.c
> @@ -5,6 +5,7 @@
> #include "struct_ops_private_stack_fail.skel.h"
> #include "struct_ops_private_stack_recur.skel.h"
>
> +#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
> static void test_private_stack(void)
> {
> struct struct_ops_private_stack *skel;
> @@ -15,11 +16,6 @@ static void test_private_stack(void)
> if (!ASSERT_OK_PTR(skel, "struct_ops_private_stack__open"))
> return;
>
> - if (skel->data->skip) {
> - test__skip();
> - goto cleanup;
> - }
> -
> err = struct_ops_private_stack__load(skel);
> if (!ASSERT_OK(err, "struct_ops_private_stack__load"))
> goto cleanup;
> @@ -48,11 +44,6 @@ static void test_private_stack_fail(void)
> if (!ASSERT_OK_PTR(skel, "struct_ops_private_stack_fail__open"))
> return;
>
> - if (skel->data->skip) {
> - test__skip();
> - goto cleanup;
> - }
> -
> err = struct_ops_private_stack_fail__load(skel);
> if (!ASSERT_ERR(err, "struct_ops_private_stack_fail__load"))
> goto cleanup;
> @@ -72,11 +63,6 @@ static void test_private_stack_recur(void)
> if (!ASSERT_OK_PTR(skel, "struct_ops_private_stack_recur__open"))
> return;
>
> - if (skel->data->skip) {
> - test__skip();
> - goto cleanup;
> - }
> -
> err = struct_ops_private_stack_recur__load(skel);
> if (!ASSERT_OK(err, "struct_ops_private_stack_recur__load"))
> goto cleanup;
> @@ -95,7 +81,7 @@ static void test_private_stack_recur(void)
> struct_ops_private_stack_recur__destroy(skel);
> }
>
> -void test_struct_ops_private_stack(void)
> +static void __test_struct_ops_private_stack(void)
> {
> if (test__start_subtest("private_stack"))
> test_private_stack();
> @@ -104,3 +90,14 @@ void test_struct_ops_private_stack(void)
> if (test__start_subtest("private_stack_recur"))
> test_private_stack_recur();
> }
> +#else
> +static void __test_struct_ops_private_stack(void)
> +{
> + test__skip();
> +}
> +#endif
> +
> +void test_struct_ops_private_stack(void)
> +{
> + __test_struct_ops_private_stack();
> +}
> diff --git a/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c b/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
> index dbe646013811..3cd0c1a55cbd 100644
> --- a/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
> +++ b/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
> @@ -7,12 +7,6 @@
>
> char _license[] SEC("license") = "GPL";
>
> -#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
> -bool skip __attribute((__section__(".data"))) = false;
> -#else
> -bool skip = true;
> -#endif
> -
> void bpf_testmod_ops3_call_test_2(void) __ksym;
>
> int val_i, val_j;
> diff --git a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
> index 3d89ad7cbe2a..1442728f5604 100644
> --- a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
> +++ b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
> @@ -7,12 +7,6 @@
>
> char _license[] SEC("license") = "GPL";
>
> -#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
> -bool skip __attribute((__section__(".data"))) = false;
> -#else
> -bool skip = true;
> -#endif
> -
> void bpf_testmod_ops3_call_test_2(void) __ksym;
>
> int val_i, val_j;
> diff --git a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
> index b1f6d7e5a8e5..faaa0f8d65a4 100644
> --- a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
> +++ b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
> @@ -7,12 +7,6 @@
>
> char _license[] SEC("license") = "GPL";
>
> -#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
> -bool skip __attribute((__section__(".data"))) = false;
> -#else
> -bool skip = true;
> -#endif
> -
> void bpf_testmod_ops3_call_test_1(void) __ksym;
>
> int val_i, val_j;
> --
> 2.52.0
>
More information about the Linuxppc-dev
mailing list