On Wed, 2021-11-17 at 17:38 -0800, Andrii Nakryiko wrote: > On Wed, Nov 17, 2021 at 5:29 PM Andrii Nakryiko > <andrii.nakryiko@xxxxxxxxx> wrote: > > > > On Wed, Nov 17, 2021 at 5:01 PM Alexei Starovoitov > > <alexei.starovoitov@xxxxxxxxx> wrote: > > > > > > On Wed, Nov 17, 2021 at 08:47:45AM +0000, Lorenz Bauer wrote: > > > > On Sat, 13 Nov 2021 at 01:27, Alexei Starovoitov > > > > <alexei.starovoitov@xxxxxxxxx> wrote: > > > > > > > > > > Not sure how you've tested it, but it doesn't work in unpriv: > > > > > $ test_verifier 789 > > > > > #789/u map in map state pruning FAIL > > > > > processed 26 insns (limit 1000000) max_states_per_insn 0 > > > > > total_states > > > > > 2 peak_states 2 mark_read 1 > > > > > #789/p map in map state pruning OK > > > > > > > > Strange, I have a script that I use for bisecting which uses a > > > > minimal > > > > .config + virtue to run a vm, plus I was debugging in gdb at > > > > the same > > > > time. I might have missed this, apologies. > > > > > > > > I guess vmtest.sh is the canonical way to run tests now? > > > > > > vmtest.sh runs test_progs only. That's the minimum bar that > > > > It runs test_progs by default, unless something else is requested. > > You > > can run anything inside it, e.g.: > > > > ./vmtest.sh -- ./test_maps > > > > BTW, we recently moved configs around in libbpf repo on Github, so > > this script broke. I'm sending a fix in a few minutes, hopefully. > > ... and of course it's not that simple. [0] recently changed how we > build qemu image and vmtest.sh had some assumptions. Some trivial > things I fixed, but I'm not too familiar with the init scripts stuff. > Adding Ilya and KP to hopefully help with this. Ilya, KP, can you > please help restore vmtest.sh functionality? > > After fixing few paths: > > diff --git a/tools/testing/selftests/bpf/vmtest.sh > b/tools/testing/selftests/bpf/vmtest.sh > index 027198768fad..7ea40108b85d 100755 > --- a/tools/testing/selftests/bpf/vmtest.sh > +++ b/tools/testing/selftests/bpf/vmtest.sh > @@ -13,8 +13,8 @@ DEFAULT_COMMAND="./test_progs" > MOUNT_DIR="mnt" > ROOTFS_IMAGE="root.img" > OUTPUT_DIR="$HOME/.bpf_selftests" > - > KCONFIG_URL="https://raw.githubusercontent.com/libbpf/libbpf/master/travis-ci/vmtest/configs/latest.config > " > - > KCONFIG_API_URL="https://api.github.com/repos/libbpf/libbpf/contents/travis-ci/vmtest/configs/latest.config > " > +KCONFIG_URL="https://raw.githubusercontent.com/libbpf/libbpf/master/travis-ci/vmtest/configs/config-latest.x86_64 > " > +KCONFIG_API_URL="https://api.github.com/repos/libbpf/libbpf/contents/travis-ci/vmtest/configs/config-latest.x86_64 > " > INDEX_URL="https://raw.githubusercontent.com/libbpf/libbpf/master/travis-ci/vmtest/configs/INDEX > " > NUM_COMPILE_JOBS="$(nproc)" > LOG_FILE_BASE="$(date +"bpf_selftests.%Y-%m-%d_%H-%M-%S")" > @@ -85,7 +85,7 @@ newest_rootfs_version() > { > { > for file in "${!URLS[@]}"; do > - if [[ $file =~ ^libbpf-vmtest-rootfs-(.*)\.tar\.zst$ > ]]; then > + if [[ $file =~ > ^x86_64/libbpf-vmtest-rootfs-(.*)\.tar\.zst$ ]]; then > echo "${BASH_REMATCH[1]}" > fi > done > > ... the next problem is more severe. Script complains about missing > /etc/rcS.d, if I just force-created it, when kernel boots we get: > > > [ 1.050803] ---[ end Kernel panic - not syncing: No working init > found. Try passing init= option to kernel. See Linux > Documentation/admin-guide/init.rst for guidance. ]--- > > > Please help. I'll have a look. Do you think whether it would make sense to reference a fixed libbpf commitid instead of master in vmtest.sh? So that updates like this could be done in a controlled manner. Best regards, Ilya