lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e126b2cd-b8c7-5b04-324e-1bae06d7c22e@linux.dev>
Date:   Fri, 18 Nov 2022 10:57:31 -0800
From:   Martin KaFai Lau <martin.lau@...ux.dev>
To:     Wang Yufen <wangyufen@...wei.com>
Cc:     davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
        pabeni@...hat.com, shuah@...nel.org, andrii@...nel.org,
        mykolal@...com, ast@...nel.org, daniel@...earbox.net,
        netdev@...r.kernel.org, bpf@...r.kernel.org
Subject: Re: [PATCH v2 2/2] selftests/net: fix opening object file failed

On 11/15/22 2:23 AM, Wang Yufen wrote:
> The program file used in the udpgro_frglist testcase is "../bpf/nat6to4.o",
> but the actual nat6to4.o file is in "bpf/" not "../bpf".
> The following error occurs:
>    Error opening object ../bpf/nat6to4.o: No such file or directory
>    Cannot initialize ELF context!
>    Unable to load program
> 
> In addition, all the kernel bpf source files are centred under the
> subdir "progs" after commit bd4aed0ee73c ("selftests: bpf: centre
> kernel bpf objects under new subdir "progs""). So mv nat6to4.c to
> "../bpf/progs" and use "../bpf/nat6to4.bpf.o". And also move the
> test program to selftests/bpf.
> 
> Fixes: edae34a3ed92 ("selftests net: add UDP GRO fraglist + bpf self-tests")
> Signed-off-by: Wang Yufen <wangyufen@...wei.com>
> ---
>   tools/testing/selftests/bpf/Makefile               |   7 +-
>   tools/testing/selftests/bpf/in_netns.sh            |  23 +
>   .../testing/selftests/bpf/progs/nat6to4_egress4.c  | 184 ++++++
>   .../testing/selftests/bpf/progs/nat6to4_ingress6.c | 149 +++++
>   tools/testing/selftests/bpf/test_udpgro_frglist.sh | 110 ++++

Love to have more tests in the BPF CI which is run continuously: eg: 
https://github.com/kernel-patches/bpf/actions/runs/3491826279/jobs/5845219757

However, script like this does not get run in CI. test_progs has a more 
consistent error output and ensures some environment cleanup before running the 
next test.  Please take some effort to adapt this test to the bpf/test_progs.c 
framework which had already been suggested in the previous revision.

Try to run ./test_progs under the bpf selftests directory.  There are existing 
examples to setup/switch net ns and test_progs has logic in place to ensure the 
netns is restored before running the next selftest.  eg. take a look at 
bpf/prog_tests/{test_tunnel,tc_redirect}.c.


>   tools/testing/selftests/bpf/udpgso_bench_rx.c      | 409 ++++++++++++
>   tools/testing/selftests/bpf/udpgso_bench_tx.c      | 712 +++++++++++++++++++++

hmmm, it is a copy? Does it need all the bench marking feature (e.g. all the cmd 
args)?  If not, please simply because I expect the test_udpgro_frglist.sh, 
udpgso_bench_rx.c, and udpgso_bench_tx.c will become one file 
'selftests/bpf/prog_tests/udpgrp_frglish.c' which loads the bpf prog and 
generates traffic to exercise the bpf prog.

Please tag it with bpf-next in the next spin which Saeed has also mentioned in 
another thread.

>   tools/testing/selftests/net/Makefile               |   2 -
>   tools/testing/selftests/net/bpf/Makefile           |  14 -
>   tools/testing/selftests/net/bpf/nat6to4.c          | 285 ---------
>   tools/testing/selftests/net/udpgro_frglist.sh      | 103 ---
>   11 files changed, 1592 insertions(+), 406 deletions(-)
>   create mode 100755 tools/testing/selftests/bpf/in_netns.sh
>   create mode 100644 tools/testing/selftests/bpf/progs/nat6to4_egress4.c
>   create mode 100644 tools/testing/selftests/bpf/progs/nat6to4_ingress6.c
>   create mode 100755 tools/testing/selftests/bpf/test_udpgro_frglist.sh
>   create mode 100644 tools/testing/selftests/bpf/udpgso_bench_rx.c
>   create mode 100644 tools/testing/selftests/bpf/udpgso_bench_tx.c
>   delete mode 100644 tools/testing/selftests/net/bpf/Makefile
>   delete mode 100644 tools/testing/selftests/net/bpf/nat6to4.c
>   delete mode 100755 tools/testing/selftests/net/udpgro_frglist.sh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ