Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[syzkaller] No output from test machine #83

Closed
cpaasch opened this issue Aug 29, 2020 · 5 comments
Closed

[syzkaller] No output from test machine #83

cpaasch opened this issue Aug 29, 2020 · 5 comments

Comments

@cpaasch
Copy link
Member

cpaasch commented Aug 29, 2020

HEAD is at:

4023d1d ("DO-NOT-MERGE: mptcp: enabled by default") (HEAD, tag: export/20200828T200052, mptcp_net-next/export) (4 hours ago)
2a11f62 ("DO-NOT-MERGE: mptcp: use kmalloc on kasan build") (4 hours ago)
91fdfac ("mptcp: only wake parent if subflow is writable") (4 hours ago)
0822fdd ("mptcp: fix stale subflow->writeable caching") (4 hours ago)
99d7d48 ("mptcp: adjust mptcp receive buffer limit if subflow has larger one") (4 hours ago)
8b96b81 ("mptcp: free acked data before waiting for more memory") (4 hours ago)
d07154d ("mptcp: simult flow self-tests") (4 hours ago)
b7affd8 ("mptcp: allow picking different xmit subflows") (4 hours ago)
f019b5a ("mptcp: allow creating non-backup subflows") (4 hours ago)
da09d83 ("mptcp: move address attribute into mptcp_addr_info") (4 hours ago)
8c48a2f ("mptcp: add OoO related mibs") (4 hours ago)
65101ef ("mptcp: cleanup mptcp_subflow_discard_data()") (4 hours ago)
8748fe9 ("mptcp: move ooo skbs into msk out of order queue.") (4 hours ago)
1cf506e ("mptcp: introduce and use mptcp_try_coalesce()") (4 hours ago)
75fc9cb ("mptcp: basic sndbuf autotuning") (4 hours ago)
49c9759 ("mptcp: trigger msk processing even for OoO data") (4 hours ago)
6204ca3 ("mptcp: set data_ready status bit in subflow_check_data_avail()") (4 hours ago)
cb08e21 ("mptcp: rethink 'is writable' conditional") (4 hours ago)
a70812a ("mptcp: add the incoming RM_ADDR support") (4 hours ago)
67841c3 ("mptcp: add the outgoing RM_ADDR support") (4 hours ago)
72076b2 ("mptcp: rename addr_signal and the related functions") (4 hours ago)
2c3d5e7 ("selftests/mptcp: Better delay & reordering configuration") (4 hours ago)
f73186c ("bpf: add 'bpf_mptcp_sock' structure and helper") (4 hours ago)
1414dba ("mptcp: attach subflow socket to parent cgroup") (4 hours ago)
ac22c61 ("bpf: expose is_mptcp flag to bpf_tcp_sock") (4 hours ago)
50aba46 ("gtp: add notification mechanism") (mptcp_net-next/net-next) (33 hours ago)

syzkaller reproducer:

# {Threaded:false Collide:false Repeat:false RepeatTimes:0 Procs:1 Sandbox: Fault:false FaultCall:-1 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:false HandleSegv:false Repro:false Trace:false}
r0 = socket$inet_mptcp(0x2, 0x1, 0x106)
bind$inet(r0, &(0x7f00000013c0)={0x2, 0x4e20, @multicast2}, 0x10)
connect$inet(r0, &(0x7f0000000040)={0x2, 0x4e20, @loopback}, 0x4d)
writev(r0, &(0x7f0000000200)=[{&(0x7f0000000240)="a2", 0x1}, {&(0x7f0000000140)="3419cb97599eea071368728a1368f667b85b9810719cb981f102f05c8c32a09fb064c4ab7ae82ab1a46cb98a8c1e1377dd06", 0xffffff94}, {&(0x7f0000000180)="84934731f7ff19cd7b9260ec3654d5decf3f2a78e5b13814229f271995c34bf8f0653c762a952135b612f205816329272e9572eb9496cec6bcb421d8eee6f5a643a49b", 0x64}], 0x3)

C-repro:

// autogenerated by syzkaller (https://github.com/google/syzkaller)

#define _GNU_SOURCE

#include <endian.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <unistd.h>

uint64_t r[1] = {0xffffffffffffffff};

int main(void)
{
  syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
  syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
  syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
  intptr_t res = 0;
  res = syscall(__NR_socket, 2ul, 1ul, 0x106);
  if (res != -1)
    r[0] = res;
  *(uint16_t*)0x200013c0 = 2;
  *(uint16_t*)0x200013c2 = htobe16(0x4e20);
  *(uint32_t*)0x200013c4 = htobe32(0xe0000002);
  syscall(__NR_bind, r[0], 0x200013c0ul, 0x10ul);
  *(uint16_t*)0x20000040 = 2;
  *(uint16_t*)0x20000042 = htobe16(0x4e20);
  *(uint32_t*)0x20000044 = htobe32(0x7f000001);
  syscall(__NR_connect, r[0], 0x20000040ul, 0x4dul);
  *(uint64_t*)0x20000200 = 0x20000240;
  memcpy((void*)0x20000240, "\xa2", 1);
  *(uint64_t*)0x20000208 = 1;
  *(uint64_t*)0x20000210 = 0x20000140;
  memcpy((void*)0x20000140,
         "\x34\x19\xcb\x97\x59\x9e\xea\x07\x13\x68\x72\x8a\x13\x68\xf6\x67\xb8"
         "\x5b\x98\x10\x71\x9c\xb9\x81\xf1\x02\xf0\x5c\x8c\x32\xa0\x9f\xb0\x64"
         "\xc4\xab\x7a\xe8\x2a\xb1\xa4\x6c\xb9\x8a\x8c\x1e\x13\x77\xdd\x06",
         50);
  *(uint64_t*)0x20000218 = 0xffffff94;
  *(uint64_t*)0x20000220 = 0x20000180;
  memcpy((void*)0x20000180,
         "\x84\x93\x47\x31\xf7\xff\x19\xcd\x7b\x92\x60\xec\x36\x54\xd5\xde\xcf"
         "\x3f\x2a\x78\xe5\xb1\x38\x14\x22\x9f\x27\x19\x95\xc3\x4b\xf8\xf0\x65"
         "\x3c\x76\x2a\x95\x21\x35\xb6\x12\xf2\x05\x81\x63\x29\x27\x2e\x95\x72"
         "\xeb\x94\x96\xce\xc6\xbc\xb4\x21\xd8\xee\xe6\xf5\xa6\x43\xa4\x9b",
         67);
  *(uint64_t*)0x20000228 = 0x64;
  syscall(__NR_writev, r[0], 0x20000200ul, 3ul);
  return 0;
}
matttbe pushed a commit that referenced this issue Sep 2, 2020
Added some test_verifier bounds check test cases for
xor operations.
  $ ./test_verifier
  ...
  #78/u bounds check for reg = 0, reg xor 1 OK
  #78/p bounds check for reg = 0, reg xor 1 OK
  #79/u bounds check for reg32 = 0, reg32 xor 1 OK
  #79/p bounds check for reg32 = 0, reg32 xor 1 OK
  #80/u bounds check for reg = 2, reg xor 3 OK
  #80/p bounds check for reg = 2, reg xor 3 OK
  #81/u bounds check for reg = any, reg xor 3 OK
  #81/p bounds check for reg = any, reg xor 3 OK
  #82/u bounds check for reg32 = any, reg32 xor 3 OK
  #82/p bounds check for reg32 = any, reg32 xor 3 OK
  #83/u bounds check for reg > 0, reg xor 3 OK
  #83/p bounds check for reg > 0, reg xor 3 OK
  #84/u bounds check for reg32 > 0, reg32 xor 3 OK
  #84/p bounds check for reg32 > 0, reg32 xor 3 OK
  ...

Signed-off-by: Yonghong Song <[email protected]>
Signed-off-by: Alexei Starovoitov <[email protected]>
Cc: John Fastabend <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
@matttbe matttbe added the bug label Sep 5, 2020
@cpaasch
Copy link
Member Author

cpaasch commented Sep 10, 2020

Running the C-program indeed reproduces the issue. The ssh-session to my VM stalls. Logging in through another ssh session shows the test-program spinning at 100% CPU.

HEAD was at:
fdc664ab314a ("mptcp: call tcp_cleanup_rbuf on subflows") (HEAD) (12 hours ago)
35d6b46 ("DO-NOT-MERGE: mptcp: enabled by default") (tag: export/20200909T050747, mptcp_net-next/export) (23 hours ago)

@matttbe
Copy link
Member

matttbe commented Sep 11, 2020

Thanks for having checked the C-repro again.

Yesterday, I also had this issue on my CI with mmap test. Here the C-repro also use mmap, maybe linked?
No so much info to add on my side:

00:52:39.286 [  274.414079] IPv6: ADDRCONF(NETDEV_CHANGE): ns1eth2: link becomes ready
00:52:39.764 [  274.892222] IPv6: ADDRCONF(NETDEV_CHANGE): ns2eth1: link becomes ready
00:52:39.848 [  274.975798] IPv6: ADDRCONF(NETDEV_CHANGE): ns3eth2: link becomes ready
00:52:39.849 [  274.977050] IPv6: ADDRCONF(NETDEV_CHANGE): ns2eth3: link becomes ready
00:52:40.421 [  275.548702] IPv6: ADDRCONF(NETDEV_CHANGE): ns4eth3: link becomes ready
00:52:40.422 [  275.550251] IPv6: ADDRCONF(NETDEV_CHANGE): ns3eth4: link becomes ready
00:52:40.699 # INFO: set ns3-5f5a7fa6-E6fRVN dev ns3eth2: ethtool -K  gro off
00:52:40.780 # INFO: set ns4-5f5a7fa6-E6fRVN dev ns4eth3: ethtool -K tso off gso off gro off
00:52:40.969 # Created /tmp/tmp.I55HMPhMnE (size 839708	/tmp/tmp.I55HMPhMnE) containing data sent by client
00:52:41.207 # Created /tmp/tmp.7D8XmIw5Or (size 3926044	/tmp/tmp.7D8XmIw5Or) containing data sent by server
00:52:41.591 # New MPTCP socket can be blocked via sysctl		[ OK ]
00:52:41.769 # setsockopt(..., TCP_ULP, "mptcp", ...) blocked	[ OK ]
00:52:41.822 # INFO: validating network environment with pings
00:52:47.190 # INFO: Using loss of 0.84% delay 7 ms reorder 92% 24% with delay 1ms on ns3eth4
00:52:47.256 # INFO: extra options:  -m mmap
00:52:48.701 # ns1 MPTCP -> ns1 (10.0.1.1:10000      ) MPTCP	(duration   231ms) [ OK ]
00:52:50.025 # ns1 MPTCP -> ns1 (10.0.1.1:10001      ) TCP  	(duration   193ms) [ OK ]
00:52:51.284 # ns1 TCP   -> ns1 (10.0.1.1:10002      ) MPTCP	(duration   135ms) [ OK ]
00:52:52.670 # ns1 MPTCP -> ns1 (dead:beef:1::1:10003) MPTCP	(duration   268ms) [ OK ]
00:52:54.167 # ns1 MPTCP -> ns1 (dead:beef:1::1:10004) TCP  	(duration   410ms) [ OK ]
00:52:55.449 # ns1 TCP   -> ns1 (dead:beef:1::1:10005) MPTCP	(duration   146ms) [ OK ]
00:52:56.762 # ns1 MPTCP -> ns2 (10.0.1.2:10006      ) MPTCP	(duration   203ms) [ OK ]
00:52:58.078 # ns1 MPTCP -> ns2 (dead:beef:1::2:10007) MPTCP	(duration   230ms) [ OK ]
00:52:59.386 # ns1 MPTCP -> ns2 (10.0.2.1:10008      ) MPTCP	(duration   180ms) [ OK ]
00:53:00.645 # ns1 MPTCP -> ns2 (dead:beef:2::1:10009) MPTCP	(duration   174ms) [ OK ]
00:53:02.041 # ns1 MPTCP -> ns3 (10.0.2.2:10010      ) MPTCP	(duration   271ms) [ OK ]
00:53:03.637 # ns1 MPTCP -> ns3 (dead:beef:2::2:10011) MPTCP	(duration   477ms) [ OK ]
00:53:05.057 # ns1 MPTCP -> ns3 (10.0.3.2:10012      ) MPTCP	(duration   254ms) [ OK ]
00:53:06.480 # ns1 MPTCP -> ns3 (dead:beef:3::2:10013) MPTCP	(duration   246ms) [ OK ]
00:53:08.262 # ns1 MPTCP -> ns4 (10.0.3.1:10014      ) MPTCP	(duration   644ms) [ OK ]
00:53:10.073 # ns1 MPTCP -> ns4 (dead:beef:3::1:10015) MPTCP	(duration   699ms) [ OK ]
00:53:11.330 # ns2 MPTCP -> ns1 (10.0.1.1:10016      ) MPTCP	(duration   153ms) [ OK ]
00:53:12.596 # ns2 MPTCP -> ns1 (dead:beef:1::1:10017) MPTCP	(duration   161ms) [ OK ]
00:53:14.129 # ns2 MPTCP -> ns3 (10.0.2.2:10018      ) MPTCP	(duration   436ms) [ OK ]
00:53:15.529 # ns2 MPTCP -> ns3 (dead:beef:2::2:10019) MPTCP	(duration   251ms) [ OK ]
00:53:16.991 # ns2 MPTCP -> ns3 (10.0.3.2:10020      ) MPTCP	(duration   365ms) [ OK ]
00:53:18.352 # ns2 MPTCP -> ns3 (dead:beef:3::2:10021) MPTCP	(duration   257ms) [ OK ]
00:53:20.090 # ns2 MPTCP -> ns4 (10.0.3.1:10022      ) MPTCP	(duration   615ms) [ OK ]
00:53:21.848 # ns2 MPTCP -> ns4 (dead:beef:3::1:10023) MPTCP	(duration   645ms) [ OK ]
00:53:23.262 # ns3 MPTCP -> ns1 (10.0.1.1:10024      ) MPTCP	(duration   257ms) [ OK ]
00:53:24.666 # ns3 MPTCP -> ns1 (dead:beef:1::1:10025) MPTCP	(duration   268ms) [ OK ]
00:53:26.036 # ns3 MPTCP -> ns2 (10.0.1.2:10026      ) MPTCP	(duration   251ms) [ OK ]
00:53:27.433 # ns3 MPTCP -> ns2 (dead:beef:1::2:10027) MPTCP	(duration   293ms) [ OK ]
00:53:28.832 # ns3 MPTCP -> ns2 (10.0.2.1:10028      ) MPTCP	(duration   275ms) [ OK ]
00:53:30.258 # ns3 MPTCP -> ns2 (dead:beef:2::1:10029) MPTCP	(duration   275ms) [ OK ]
00:53:31.816 # ns3 MPTCP -> ns4 (10.0.3.1:10030      ) MPTCP	(duration   413ms) [ OK ]
00:53:33.370 # ns3 MPTCP -> ns4 (dead:beef:3::1:10031) MPTCP	(duration   451ms) [ OK ]
01:03:20.370 Timeout: sending Ctrl+C
01:03:20.372 # ns4 MPTCP -> ns1 (10.0.1.1:10032      ) MPTCP	^C/usr/lib/klibc/bin/poweroff```

@pabeni
Copy link

pabeni commented Sep 11, 2020

should be fixed by "Squash-to: "mptcp: allow picking different xmit subflows"/5c2b7b0df753a7f8c9be71a513e2542f58f8d7c0.1599780534.git.pabeni@redhat.com

Note that this issue could be hit only on fallback scenario.

@matttbe: when hitting this issue, the blocker process is unkillable, busy in an infinite loop inside mptcp_sendmsg(). Does your case fit the above? (IRC, mptcp can unintentionally fallback if e.g. the server fails to allocate the msk context at 3whs time).

@matttbe
Copy link
Member

matttbe commented Sep 11, 2020

@pabeni: sorry but with the current test environment, all I can do is to cancel the job. Maybe I could do something else in case of timeout, e.g. sending a "magic key" to generate a call trace?

So far, I was not able to reproduce this error.

@cpaasch
Copy link
Member Author

cpaasch commented Sep 11, 2020

Indeed, I can't reproduce the issue with the syzkaller-repros on latest export. Closing!

@cpaasch cpaasch closed this as completed Sep 11, 2020
jenkins-tessares pushed a commit that referenced this issue Apr 14, 2023
Currently, test_progs outputs all stdout/stderr as it runs, and when it
is done, prints a summary.

It is non-trivial for tooling to parse that output and extract meaningful
information from it.

This change adds a new option, `--json-summary`/`-J` that let the caller
specify a file where `test_progs{,-no_alu32}` can write a summary of the
run in a json format that can later be parsed by tooling.

Currently, it creates a summary section with successes/skipped/failures
followed by a list of failed tests and subtests.

A test contains the following fields:
- name: the name of the test
- number: the number of the test
- message: the log message that was printed by the test.
- failed: A boolean indicating whether the test failed or not. Currently
we only output failed tests, but in the future, successful tests could
be added.
- subtests: A list of subtests associated with this test.

A subtest contains the following fields:
- name: same as above
- number: sanme as above
- message: the log message that was printed by the subtest.
- failed: same as above but for the subtest

An example run and json content below:
```
$ sudo ./test_progs -a $(grep -v '^#' ./DENYLIST.aarch64 | awk '{print
$1","}' | tr -d '\n') -j -J /tmp/test_progs.json
$ jq < /tmp/test_progs.json | head -n 30
{
  "success": 29,
  "success_subtest": 23,
  "skipped": 3,
  "failed": 28,
  "results": [
    {
      "name": "bpf_cookie",
      "number": 10,
      "message": "test_bpf_cookie:PASS:skel_open 0 nsec\n",
      "failed": true,
      "subtests": [
        {
          "name": "multi_kprobe_link_api",
          "number": 2,
          "message": "kprobe_multi_link_api_subtest:PASS:load_kallsyms 0 nsec\nlibbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\nkprobe_multi_link_api_subtest:FAIL:fentry_raw_skel_load unexpected error: -3\n",
          "failed": true
        },
        {
          "name": "multi_kprobe_attach_api",
          "number": 3,
          "message": "libbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\nkprobe_multi_attach_api_subtest:FAIL:fentry_raw_skel_load unexpected error: -3\n",
          "failed": true
        },
        {
          "name": "lsm",
          "number": 8,
          "message": "lsm_subtest:PASS:lsm.link_create 0 nsec\nlsm_subtest:FAIL:stack_mprotect unexpected stack_mprotect: actual 0 != expected -1\n",
          "failed": true
        }
```

The file can then be used to print a summary of the test run and list of
failing tests/subtests:

```
$ jq -r < /tmp/test_progs.json '"Success: \(.success)/\(.success_subtest), Skipped: \(.skipped), Failed: \(.failed)"'

Success: 29/23, Skipped: 3, Failed: 28
$ jq -r < /tmp/test_progs.json '.results | map([
    if .failed then "#\(.number) \(.name)" else empty end,
    (
        . as {name: $tname, number: $tnum} | .subtests | map(
            if .failed then "#\($tnum)/\(.number) \($tname)/\(.name)" else empty end
        )
    )
]) | flatten | .[]' | head -n 20
 #10 bpf_cookie
 #10/2 bpf_cookie/multi_kprobe_link_api
 #10/3 bpf_cookie/multi_kprobe_attach_api
 #10/8 bpf_cookie/lsm
 #15 bpf_mod_race
 #15/1 bpf_mod_race/ksym (used_btfs UAF)
 #15/2 bpf_mod_race/kfunc (kfunc_btf_tab UAF)
 #36 cgroup_hierarchical_stats
 #61 deny_namespace
 #61/1 deny_namespace/unpriv_userns_create_no_bpf
 #73 fexit_stress
 #83 get_func_ip_test
 #99 kfunc_dynptr_param
 #99/1 kfunc_dynptr_param/dynptr_data_null
 #99/4 kfunc_dynptr_param/dynptr_data_null
 #100 kprobe_multi_bench_attach
 #100/1 kprobe_multi_bench_attach/kernel
 #100/2 kprobe_multi_bench_attach/modules
 #101 kprobe_multi_test
 #101/1 kprobe_multi_test/skel_api
```

Signed-off-by: Manu Bretelle <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
matttbe pushed a commit that referenced this issue May 20, 2024
Recent additions in BPF like cpu v4 instructions, test_bpf module
exhibits the following failures:

  test_bpf: #82 ALU_MOVSX | BPF_B jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #83 ALU_MOVSX | BPF_H jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #84 ALU64_MOVSX | BPF_B jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #85 ALU64_MOVSX | BPF_H jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)
  test_bpf: #86 ALU64_MOVSX | BPF_W jited:1 ret 2 != 1 (0x2 != 0x1)FAIL (1 times)

  test_bpf: #165 ALU_SDIV_X: -6 / 2 = -3 jited:1 ret 2147483645 != -3 (0x7ffffffd != 0xfffffffd)FAIL (1 times)
  test_bpf: #166 ALU_SDIV_K: -6 / 2 = -3 jited:1 ret 2147483645 != -3 (0x7ffffffd != 0xfffffffd)FAIL (1 times)

  test_bpf: #169 ALU_SMOD_X: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)
  test_bpf: #170 ALU_SMOD_K: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)

  test_bpf: #172 ALU64_SMOD_K: -7 % 2 = -1 jited:1 ret 1 != -1 (0x1 != 0xffffffff)FAIL (1 times)

  test_bpf: #313 BSWAP 16: 0x0123456789abcdef -> 0xefcd
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 301 PASS
  test_bpf: #314 BSWAP 32: 0x0123456789abcdef -> 0xefcdab89
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 555 PASS
  test_bpf: #315 BSWAP 64: 0x0123456789abcdef -> 0x67452301
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 268 PASS
  test_bpf: #316 BSWAP 64: 0x0123456789abcdef >> 32 -> 0xefcdab89
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 269 PASS
  test_bpf: #317 BSWAP 16: 0xfedcba9876543210 -> 0x1032
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 460 PASS
  test_bpf: #318 BSWAP 32: 0xfedcba9876543210 -> 0x10325476
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 320 PASS
  test_bpf: #319 BSWAP 64: 0xfedcba9876543210 -> 0x98badcfe
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 222 PASS
  test_bpf: #320 BSWAP 64: 0xfedcba9876543210 >> 32 -> 0x10325476
  eBPF filter opcode 00d7 (@2) unsupported
  jited:0 273 PASS

  test_bpf: #344 BPF_LDX_MEMSX | BPF_B
  eBPF filter opcode 0091 (@5) unsupported
  jited:0 432 PASS
  test_bpf: #345 BPF_LDX_MEMSX | BPF_H
  eBPF filter opcode 0089 (@5) unsupported
  jited:0 381 PASS
  test_bpf: #346 BPF_LDX_MEMSX | BPF_W
  eBPF filter opcode 0081 (@5) unsupported
  jited:0 505 PASS

  test_bpf: #490 JMP32_JA: Unconditional jump: if (true) return 1
  eBPF filter opcode 0006 (@1) unsupported
  jited:0 261 PASS

  test_bpf: Summary: 1040 PASSED, 10 FAILED, [924/1038 JIT'ed]

Fix them by adding missing processing.

Fixes: daabb2b ("bpf/tests: add tests for cpuv4 instructions")
Signed-off-by: Christophe Leroy <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
Link: https://msgid.link/91de862dda99d170697eb79ffb478678af7e0b27.1709652689.git.christophe.leroy@csgroup.eu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants