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

Fix arm64 testsuite failures #745

Merged
merged 7 commits into from Jul 27, 2022
Merged

Fix arm64 testsuite failures #745

merged 7 commits into from Jul 27, 2022

Commits on Jul 26, 2022

  1. internal/unix: move ENOTSUPP to internal/sys

    ENOTSUPP is not included in x/sys/unix since it's meant to be kernel
    internal. Move it from our wrapper package into internal/sys.
    Also provide a descriptive error message.
    lmb committed Jul 26, 2022
    Copy the full SHA
    e03e53a View commit details
    Browse the repository at this point in the history
  2. btf: skip tracing tests on arm64

    Linux on arm64 returns ENOTSUPP when trying to create a tracing link
    via BPF_LINK_CREATE and BPF_RAW_TRACEPOINT_OPEN. Turn this into ErrNotSupported.
    lmb committed Jul 26, 2022
    Copy the full SHA
    18a30e3 View commit details
    Browse the repository at this point in the history
  3. link: make test symbols portable across amd64 and arm64

    Use symbols and tracepoints which are portable across amd64 and arm64.
    
    Based on ubuntu 5.13.0-52-generic aarch64.
    lmb committed Jul 26, 2022
    Copy the full SHA
    76a7b4d View commit details
    Browse the repository at this point in the history
  4. features: always wrap errors

    Don't return unwrapped sentinel errors from various feature tests.
    
    testutils.SkipIfNotSupported will bail out if it encounters an unwrapped
    ErrNotSupported.
    lmb committed Jul 26, 2022
    Copy the full SHA
    b1ffb38 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2022

  1. link: fix TestUprobeExtWithOpts on arm64

    Trying to create a perf_event uprobe on arm64 doesn't seem to allow
    passing an address in the first page. Use the first byte of the second
    page instead.
    lmb authored and ti-mo committed Jul 27, 2022
    Copy the full SHA
    cb400ad View commit details
    Browse the repository at this point in the history
  2. map: fix LookupAndDelete spinlock test

    Passing flags to BPF_MAP_LOOKUP_AND_DELETE_ELEM is only possible
    from 5.14. Skip the test on earlier kernels.
    lmb authored and ti-mo committed Jul 27, 2022
    Copy the full SHA
    e27139e View commit details
    Browse the repository at this point in the history
  3. link: run TestKprobeOffset on arm64

    TestKprobeOffset used to hardcode specific offsets to test against,
    which meant we had to make it amd64 specific. It turns out that even
    on a single arch the offsets aren't stable due to changes in the
    compiler. Hence the test was changed to brute force a valid offset,
    but we forgot to run it on all arches.
    
    Trying to execute the test on Linux 5.13 on arm64 triggers EINVAL
    instead of the expected EILSEQ however. This is because arm64 returns
    EINVAL when trying to use an offset that is not a multiple of four.
    
    Relying on EILSEQ is therefore not portable, and probably shouldn't
    be encouraged. Drop the check for EILSEQ from TestKprobeOffset and
    execute it on all arches.
    lmb authored and ti-mo committed Jul 27, 2022
    Copy the full SHA
    802313f View commit details
    Browse the repository at this point in the history