Re: [PATCH bpf-next 4/4] selftests/bpf: few fixes for selftests/bpf built in release mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 15, 2022 at 8:52 PM Andrii Nakryiko <andrii@xxxxxxxxxx> wrote:
>
> Fix few issues found when building and running test_progs in release
> mode.
>
> First, potentially uninitialized idx variable in xskxceiver,
> force-initialize to zero to satisfy compiler.
>
> Few instances of defining uprobe trigger functions break in release mode
> unless marked as noinline, due to being static. Add noinline to make
> sure everything works.
>
> Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
> ---

I can't say for the noinline change, I trust it works. The fix for
uninitialized use looks good to me.

Acked-by: Hao Luo <haoluo@xxxxxxxxxx>


>  tools/testing/selftests/bpf/prog_tests/attach_probe.c | 6 +++---
>  tools/testing/selftests/bpf/prog_tests/bpf_cookie.c   | 2 +-
>  tools/testing/selftests/bpf/prog_tests/task_pt_regs.c | 2 +-
>  tools/testing/selftests/bpf/xskxceiver.c              | 2 +-
>  4 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/attach_probe.c b/tools/testing/selftests/bpf/prog_tests/attach_probe.c
> index 0b899d2d8ea7..9566d9d2f6ee 100644
> --- a/tools/testing/selftests/bpf/prog_tests/attach_probe.c
> +++ b/tools/testing/selftests/bpf/prog_tests/attach_probe.c
> @@ -6,19 +6,19 @@
>  volatile unsigned short uprobe_ref_ctr __attribute__((unused)) __attribute((section(".probes")));
>
>  /* uprobe attach point */
> -static void trigger_func(void)
> +static noinline void trigger_func(void)
>  {
>         asm volatile ("");
>  }
>
>  /* attach point for byname uprobe */
> -static void trigger_func2(void)
> +static noinline void trigger_func2(void)
>  {
>         asm volatile ("");
>  }
>
>  /* attach point for byname sleepable uprobe */
> -static void trigger_func3(void)
> +static noinline void trigger_func3(void)
>  {
>         asm volatile ("");
>  }
> diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
> index 2974b44f80fa..2be2d61954bc 100644
> --- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
> +++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
> @@ -13,7 +13,7 @@
>  #include "kprobe_multi.skel.h"
>
>  /* uprobe attach point */
> -static void trigger_func(void)
> +static noinline void trigger_func(void)
>  {
>         asm volatile ("");
>  }
> diff --git a/tools/testing/selftests/bpf/prog_tests/task_pt_regs.c b/tools/testing/selftests/bpf/prog_tests/task_pt_regs.c
> index 61935e7e056a..f000734a3d1f 100644
> --- a/tools/testing/selftests/bpf/prog_tests/task_pt_regs.c
> +++ b/tools/testing/selftests/bpf/prog_tests/task_pt_regs.c
> @@ -4,7 +4,7 @@
>  #include "test_task_pt_regs.skel.h"
>
>  /* uprobe attach point */
> -static void trigger_func(void)
> +static noinline void trigger_func(void)
>  {
>         asm volatile ("");
>  }
> diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c
> index 20b44ab32a06..14b4737b223c 100644
> --- a/tools/testing/selftests/bpf/xskxceiver.c
> +++ b/tools/testing/selftests/bpf/xskxceiver.c
> @@ -922,7 +922,7 @@ static int __send_pkts(struct ifobject *ifobject, u32 *pkt_nb, struct pollfd *fd
>  {
>         struct xsk_socket_info *xsk = ifobject->xsk;
>         bool use_poll = ifobject->use_poll;
> -       u32 i, idx, ret, valid_pkts = 0;
> +       u32 i, idx = 0, ret, valid_pkts = 0;
>
>         while (xsk_ring_prod__reserve(&xsk->tx, BATCH_SIZE, &idx) < BATCH_SIZE) {
>                 if (use_poll) {
> --
> 2.30.2
>



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux