Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cilium/ebpf
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.17.2
Choose a base ref
...
head repository: cilium/ebpf
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.17.3
Choose a head ref
  • 11 commits
  • 20 files changed
  • 6 contributors

Commits on Feb 3, 2025

  1. build(deps): bump the docs group in /docs with 2 updates

    Bumps the docs group in /docs with 2 updates: [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
    
    
    Updates `pymdown-extensions` from 10.13 to 10.14.2
    - [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
    - [Commits](facelessuser/pymdown-extensions@10.13...10.14.2)
    
    Updates `mkdocs-material` from 9.5.49 to 9.6.1
    - [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
    - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
    - [Commits](squidfunk/mkdocs-material@9.5.49...9.6.1)
    
    ---
    updated-dependencies:
    - dependency-name: pymdown-extensions
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: docs
    - dependency-name: mkdocs-material
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: docs
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and ti-mo committed Feb 3, 2025
    Configuration menu
    Copy the full SHA
    5fed3fe View commit details
    Browse the repository at this point in the history
  2. build(deps): bump golangci/golangci-lint-action from 6.1.1 to 6.2.0

    Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.1.1 to 6.2.0.
    - [Release notes](https://github.com/golangci/golangci-lint-action/releases)
    - [Commits](golangci/golangci-lint-action@v6.1.1...v6.2.0)
    
    ---
    updated-dependencies:
    - dependency-name: golangci/golangci-lint-action
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and ti-mo committed Feb 3, 2025
    Configuration menu
    Copy the full SHA
    ded9cb4 View commit details
    Browse the repository at this point in the history
  3. docs: upgrade Python version to 3.13

    Netlify recently announced configurable Python versions in their build pipeline:
    https://www.netlify.com/blog/announcing-configurable-python-versions-in-netlify-builds.
    
    Make use of this and bump Python to 3.13 since dependabot is now also issuing
    warnings for 3.8 EOL.
    
    Signed-off-by: Timo Beckers <timo@isovalent.com>
    ti-mo committed Feb 3, 2025
    Configuration menu
    Copy the full SHA
    e4dd347 View commit details
    Browse the repository at this point in the history
  4. build(deps): bump actions/github-script from 6 to 7

    Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
    - [Release notes](https://github.com/actions/github-script/releases)
    - [Commits](actions/github-script@v6...v7)
    
    ---
    updated-dependencies:
    - dependency-name: actions/github-script
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and lmb committed Feb 3, 2025
    Configuration menu
    Copy the full SHA
    7ef96d1 View commit details
    Browse the repository at this point in the history
  5. ci: fix github-script v7 incompatibility

    Seems like something changed with how the location header is parsed.
    Use request.url instead.
    
    Signed-off-by: Lorenz Bauer <lmb@isovalent.com>
    lmb committed Feb 3, 2025
    Configuration menu
    Copy the full SHA
    4d6df6f View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2025

  1. internal/unix: add Errno wrapper for Windows

    eBPF for Windows has historically aimed to be source compatible with
    libbpf API. As part of this, POSIX error codes are found in errno.h
    are used to indicate errors of all kinds.
    
    eBPF for Windows so far aimed to be source compatible with libbpf.
    This includes using the same error constants (EINVAL, etc.) as libbpf.
    It does this using the errno.h header supplied by the Microsoft
    C runtime. Unfortunately, Windows error codes do not always use
    the same value as Linux does.
    
    Introduce a dedicated Errno type on Windows which maps errors to
    the correct constant for the platform. This means that syscall.Errno
    is not an alias for unix.Errno any more.
    
    Signed-off-by: Lorenz Bauer <lmb@isovalent.com>
    lmb committed Feb 4, 2025
    Configuration menu
    Copy the full SHA
    efec6c7 View commit details
    Browse the repository at this point in the history
  2. internal/linux: use unix.Auxv

    Use the newly added Auxv wrapper added in golang.org/x/sys/unix v0.30.0
    instead of manually go:linknaming runtime.getAuxv. This also allows to
    get rid of the check for malformed auxv data as it is already performed
    by unix.Auxv.
    
    Signed-off-by: Tobias Klauser <tobias@cilium.io>
    tklauser authored and ti-mo committed Feb 4, 2025
    Configuration menu
    Copy the full SHA
    8462e8f View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2025

  1. btf: add simple benchmark for parseLineInfoRecords

    Signed-off-by: Paul Cacheux <paul.cacheux@datadoghq.com>
    paulcacheux authored and ti-mo committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    b9d88ff View commit details
    Browse the repository at this point in the history
  2. btf: read all line info records in one go, instead of one by one

    `binary.Read` is able to directly read its result in a slice, and this
    is way more efficient from a CPU and memory allocation standpoint
    
                            │   old.txt   │               new.txt               │
                            │   sec/op    │   sec/op     vs base                │
    ParseLineInfoRecords-10   288.6µ ± 3%   141.3µ ± 4%  -51.02% (p=0.000 n=10)
    
                            │   old.txt    │            new.txt             │
                            │     B/op     │     B/op      vs base          │
    ParseLineInfoRecords-10   128.0Ki ± 0%   128.0Ki ± 0%  ~ (p=1.000 n=10)
    
                            │    old.txt    │              new.txt               │
                            │   allocs/op   │ allocs/op   vs base                │
    ParseLineInfoRecords-10   4098.000 ± 0%   3.000 ± 0%  -99.93% (p=0.000 n=10)
    
    Signed-off-by: Paul Cacheux <paul.cacheux@datadoghq.com>
    paulcacheux authored and ti-mo committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    1bcc12e View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2025

  1. btf: fix data race in (*mutableTypes).copy

    Move the creation of the mutableTypes copy under the read lock, so that
    the access to the len of the source types is protected when
    pre-allocating the maps.
    
    Signed-off-by: Paul Cacheux <paul.cacheux@datadoghq.com>
    paulcacheux authored and lmb committed Feb 10, 2025
    Configuration menu
    Copy the full SHA
    0cd3acc View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2025

  1. Fix ksym buffer overrun on 32 bit platforms

    Commit 78074c5 ("info: expose more prog jited info"), which made its
    way into v0.17.0, resulted in random runc CI failures when running i386
    binary on an amd64 kernel (see [1]).
    
    Apparently [2], the kernel always returns 64-bit pointers, so uint64
    (rather than uintptr) should be used for ksyms slice regardless of
    the platform to avoid the buffer overrun.
    
    Now, to keep the public API of (*ProgramInfo).JitedKsymAddrs intact,
    convert those addresses back to uintptr, as it was done before
    commit 78074c5. Except, if the kernel address won't fit into an
    uintptr (as it is the case when running i386 binary on an amd64 kernel),
    return an empty slice and a false, rather than incorrect addresses.
    
    [1]: opencontainers/runc#4594
    [2]: https://github.com/torvalds/linux/blob/2014c95afecee3e76ca4a56956a936e23283f05b/kernel/bpf/syscall.c#L4840-L4846
    
    Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
    kolyshkin authored and lmb committed Feb 11, 2025
    Configuration menu
    Copy the full SHA
    159dff1 View commit details
    Browse the repository at this point in the history
Loading