Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
0db4941
bpf: Use rcu_read_lock_dont_migrate in bpf_sk_storage.c
Oct 7, 2025
56b4d16
bpf: Cleanup unused func args in rqspinlock implementation
sidchintamaneni Oct 1, 2025
469d638
bpf: Fix sleepable context for async callbacks
kkdwvd Oct 7, 2025
f233d48
bpf: Refactor storage_get_func_atomic to generic non_sleepable flag
kkdwvd Oct 7, 2025
5b1b5d3
selftests/bpf: Add tests for async cb context
kkdwvd Oct 7, 2025
17566cf
Merge branch 'fix-sleepable-context-tracking-for-async-callbacks'
Oct 10, 2025
b5b693f
bpf: add bpf_strcasestr,bpf_strncasestr kfuncs
Rtoax Oct 9, 2025
eca0b64
selftests/bpf: Test bpf_strcasestr,bpf_strncasestr kfuncs
Rtoax Oct 9, 2025
2e36338
Merge branch 'add-kfuncs-bpf_strcasestr-and-bpf_strncasestr'
Oct 10, 2025
d8accf6
bpf: Refactor cleanup of bpf_prog_test_run_skb
pchaigno Oct 9, 2025
57bb2f6
bpf: Reorder bpf_prog_test_run_skb initialization
pchaigno Oct 9, 2025
838baa3
bpf: Craft non-linear skbs in BPF_PROG_TEST_RUN
pchaigno Oct 9, 2025
8d45d03
selftests/bpf: Support non-linear flag in test loader
pchaigno Oct 9, 2025
bc3eeb4
selftests/bpf: Test direct packet access on non-linear skbs
pchaigno Oct 9, 2025
7dc484f
Merge branch 'support-non-linear-skbs-for-bpf_prog_test_run'
Oct 10, 2025
5f8d411
bpf: Fix handling maps with no BTF and non-constant offsets for the b…
mykyta5 Oct 10, 2025
bca2b74
selftests/bpf: Add more bpf_wq tests
mykyta5 Oct 10, 2025
4c97c4b
bpf: Extract internal structs validation logic into helpers
mykyta5 Oct 10, 2025
39e9d5f
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf before 6.…
Oct 12, 2025
48a97ff
bpf: Consistently use bpf_rcu_lock_held() everywhere
anakryiko Oct 14, 2025
50de48a
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf at 6.18-rc2
Oct 19, 2025
c67f4ae
selftests/bpf: Silence unused-but-set build warnings
seehearfeel Oct 18, 2025
ec8e3e2
bpf: mark mm->owner as __safe_rcu_or_null
laoar Oct 16, 2025
7484e7c
bpf: mark vma->{vm_mm,vm_file} as __safe_trusted_or_null
laoar Oct 16, 2025
7a9f475
Merge branch 'bpf-mm-related-minor-changes'
Oct 19, 2025
4f8543b
selftests/bpf: Fix selftest verif_scale_strobemeta failure with llvm22
Oct 14, 2025
b74938a
samples/bpf: Fix spelling typos in samples/bpf
Oct 15, 2025
7361c86
selftests/bpf: Fix list_del() in arena list
puranjaymohan Oct 17, 2025
04a8995
bpf: Do not let BPF test infra emit invalid GSO types to stack
borkmann Oct 20, 2025
96d31df
bpf: Clarify get_outer_instance() handling in propagate_to_outer_inst…
shardulsb08 Oct 21, 2025
6ea5fc9
bpf: fix the return value of push_stack
aspsk Oct 19, 2025
f7d72d0
bpf: save the start of functions in bpf_prog_aux
aspsk Oct 19, 2025
44481e4
bpf: generalize and export map_get_next_key for arrays
aspsk Oct 19, 2025
2f69c56
bpf: make bpf_insn_successors to return a pointer
aspsk Oct 19, 2025
e758657
libbpf: fix formatting of bpf_object__append_subprog_code
aspsk Oct 19, 2025
a61a257
selftests/bpf: remove unnecessary kfunc prototypes
mykyta5 Oct 26, 2025
531b87d
bpf: widen dynptr size/offset to 64 bit
mykyta5 Oct 26, 2025
76e4fed
lib: move freader into buildid.h
mykyta5 Oct 26, 2025
5a5fff6
lib/freader: support reading more than 2 folios
mykyta5 Oct 26, 2025
9cba966
bpf: verifier: centralize const dynptr check in unmark_stack_slots_dy…
mykyta5 Oct 26, 2025
8d8771d
bpf: add plumbing for file-backed dynptr
mykyta5 Oct 26, 2025
e3e36ed
bpf: add kfuncs and helpers support for file dynptrs
mykyta5 Oct 26, 2025
d869d56
bpf: verifier: refactor kfunc specialization
mykyta5 Oct 26, 2025
2c52e89
bpf: dispatch to sleepable file dynptr
mykyta5 Oct 26, 2025
784cdf9
selftests/bpf: add file dynptr tests
mykyta5 Oct 26, 2025
ff88079
Merge branch 'bpf-introduce-file-dynptr'
Oct 27, 2025
feeaf13
bpf: Add overwrite mode for BPF ring buffer
Oct 18, 2025
8f7a86e
selftests/bpf: Add overwrite mode test for BPF ring buffer
Oct 18, 2025
f9db3a3
selftests/bpf/benchs: Add overwrite mode benchmark for BPF ring buffer
Oct 18, 2025
8842732
bpftool: Fix missing closing parethesis for BTF_KIND_UNKN
Oct 28, 2025
e17d62f
bpf: Refactor stack map trace depth calculation into helper function
ArnaudLcm Oct 25, 2025
23f852d
bpf: Fix stackmap overflow check in __bpf_get_stackid()
ArnaudLcm Oct 25, 2025
4f36189
libbpf: Optimize the redundant code in the bpf_object__init_user_btf_…
Oct 24, 2025
54c134f
libbpf: Fix the incorrect reference to the memlock_rlim variable in t…
Oct 27, 2025
1d5137c
selftests/bpf: Add tc helpers
Tropicao Oct 27, 2025
86433db
selftests/bpf: Make test_tc_tunnel.bpf.c compatible with big endian p…
Tropicao Oct 27, 2025
8517b1a
selftests/bpf: Integrate test_tc_tunnel.sh tests into test_progs
Tropicao Oct 27, 2025
5d35916
selftests/bpf: Remove test_tc_tunnel.sh
Tropicao Oct 27, 2025
e2e668b
Merge branch 'selftests-bpf-convert-test_tc_tunnel-sh-to-test_progs'
Oct 29, 2025
5913e93
selftests/bpf: Fix intermittent failures in file_reader test
mykyta5 Oct 29, 2025
7bd6e5c
rqspinlock: Disable queue destruction for deadlocks
kkdwvd Oct 29, 2025
a8a0abf
selftests/bpf: Add ABBCCA case for rqspinlock stress test
kkdwvd Oct 29, 2025
d28c0e4
Merge branch 'misc-rqspinlock-updates'
Oct 30, 2025
5701d5a
bpf: Use kmalloc_nolock() in bpf streams
puranjaymohan Oct 23, 2025
3ab77f3
selftests/bpf: test_xsk: Split xskxceiver
bastien-curutchet Oct 31, 2025
2233ef8
selftests/bpf: test_xsk: Initialize bitmap before use
bastien-curutchet Oct 31, 2025
cadc0c1
selftests/bpf: test_xsk: Fix __testapp_validate_traffic()'s return value
bastien-curutchet Oct 31, 2025
d66e49f
selftests/bpf: test_xsk: fix memory leak in testapp_stats_rx_dropped()
bastien-curutchet Oct 31, 2025
bea4f03
selftests/bpf: test_xsk: fix memory leak in testapp_xdp_shared_umem()
bastien-curutchet Oct 31, 2025
e3dfa0f
selftests/bpf: test_xsk: Wrap test clean-up in functions
bastien-curutchet Oct 31, 2025
f477b0f
selftests/bpf: test_xsk: Release resources when swap fails
bastien-curutchet Oct 31, 2025
e645bcf
selftests/bpf: test_xsk: Add return value to init_iface()
bastien-curutchet Oct 31, 2025
f12f1b5
selftests/bpf: test_xsk: Don't exit immediately when xsk_attach fails
bastien-curutchet Oct 31, 2025
3f09728
selftests/bpf: test_xsk: Don't exit immediately when gettimeofday fails
bastien-curutchet Oct 31, 2025
5b2a757
selftests/bpf: test_xsk: Don't exit immediately when workers fail
bastien-curutchet Oct 31, 2025
844b13a
selftests/bpf: test_xsk: Don't exit immediately if validate_traffic f…
bastien-curutchet Oct 31, 2025
7a96615
selftests/bpf: test_xsk: Don't exit immediately on allocation failures
bastien-curutchet Oct 31, 2025
75fc630
selftests/bpf: test_xsk: Isolate non-CI tests
bastien-curutchet Oct 31, 2025
d1aec26
selftests/bpf: test_xsk: Integrate test_xsk.c to test_progs framework
bastien-curutchet Oct 31, 2025
ab01bfa
Merge branch 'selftests-bpf-integrate-test_xsk-c-to-test_progs-framew…
Oct 31, 2025
c076fd5
selftests/bpf: Skip tc_tunnel subtest if its setup fails
Tropicao Oct 31, 2025
e6e10c5
selftests/bpf: Add checks in tc_tunnel when entering net namespaces
Tropicao Oct 31, 2025
5dae745
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf after 6.1…
Nov 3, 2025
d43ad9d
bpf: Skip bounds adjustment for conditional jumps on same scalar regi…
mannkafai Nov 3, 2025
9f32bfe
selftests/bpf: Add test for conditional jumps on same scalar register
mannkafai Nov 3, 2025
11369e6
Merge branch 'bpf-skip-bounds-adjustment-for-conditional-jumps-on-sam…
Nov 4, 2025
74bd7bc
libbpf: Complete the missing @param and @return tags in btf.h
Nov 3, 2025
efa4756
libbpf: Update the comment to remove the reference to the deprecated …
Nov 3, 2025
b3387b3
docs/bpf: Add missing BPF k/uprobe program types to docs
donaldh Oct 29, 2025
4f596ac
libbpf: Fix parsing of multi-split BTF
alan-maguire Nov 4, 2025
cc77a20
selftests/bpf: Test parsing of (multi-)split BTF
alan-maguire Nov 4, 2025
4cb4897
Merge branch 'multi-split-btf-fixes-and-test'
anakryiko Nov 4, 2025
b4ce592
bpf, x86: add new map type: instructions array
aspsk Nov 5, 2025
18a187b
bpftool: Recognize insn_array map type
aspsk Nov 5, 2025
cbef91d
libbpf: Recognize insn_array map type
aspsk Nov 5, 2025
218edd6
selftests/bpf: add selftests for new insn_array map
aspsk Nov 5, 2025
30ec0ec
bpf: support instructions arrays with constants blinding
aspsk Nov 5, 2025
ae48162
selftests/bpf: test instructions arrays with blinding
aspsk Nov 5, 2025
5bef46a
bpf, x86: allow indirect jumps to r8...r15
aspsk Nov 5, 2025
493d9e0
bpf, x86: add support for indirect jumps
aspsk Nov 5, 2025
bc414d3
bpf: disasm: add support for BPF_JMP|BPF_JA|BPF_X
aspsk Nov 5, 2025
dd3fd3c
libbpf: support llvm-generated indirect jumps
aspsk Nov 5, 2025
ccbdb48
selftests/bpf: add new verifier_gotox test
aspsk Nov 5, 2025
ac4d838
selftests/bpf: add C-level selftests for indirect jumps
aspsk Nov 5, 2025
b54a8e1
Merge branch 'bpf-indirect-jumps'
Nov 6, 2025
38e3651
selftests/bpf: Systematically add SO_REUSEADDR in start_server_addr
Tropicao Nov 5, 2025
5b7d6c9
selftests/bpf: Use start_server_str rather than start_reuseport_serve…
Tropicao Nov 5, 2025
6f1f4c1
Merge branch 'selftests-bpf-enfoce-so_reuseaddr-in-basic-test-servers'
Nov 6, 2025
f8c67d8
bpf: Use kmalloc_nolock() in range tree
puranjaymohan Nov 6, 2025
3249e8a
bpf: Adjust return value for queue destruction in rqspinlock
kkdwvd Nov 11, 2025
6af6e49
bpf: Free special fields when update [lru_,]percpu_hash maps
Asphaltt Nov 5, 2025
c1cbf0d
selftests/bpf: Add test to verify freeing the special fields in pcpu …
Asphaltt Nov 5, 2025
f1d8c65
Merge branch 'percpu_hash-maps'
Nov 13, 2025
93ce3be
selftests/bpf: retry bpf_map_update_elem() when E2BIG is returned
mattbobrowski Nov 13, 2025
c1da3df
bpf: Prevent nesting overflow in bpf_try_get_buffers
Schandna-gitinit Nov 14, 2025
e5d2e34
bpf: Add missing checks to avoid verbose verifier log
eddyz87 Nov 14, 2025
fea3f5e
bpf: Handle return value of ftrace_set_filter_ip in register_fentry
image-dragon Nov 10, 2025
63066b7
selftests/bpf: Convert glob_match() to bpf arena
Nov 11, 2025
c133390
selftests/bpf: Fix failure paths in send_signal test
Nov 13, 2025
3781413
libbpf: Fix BTF dedup to support recursive typedef definitions
Nov 13, 2025
a69e098
selftests/bpf: Add BTF dedup tests for recursive typedef definitions
Nov 13, 2025
ef2c0b2
Merge branch 'libbpf-fix-btf-dedup-to-support-recursive-typedef'
anakryiko Nov 15, 2025
e47b68b
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf after 6.1…
Nov 15, 2025
a4d31f4
selftests/bpf: Align kfuncs renamed in bpf tree
mykyta5 Nov 5, 2025
4f7bc83
bpf: verifier: Move desc->imm setup to sort_kfunc_descs_by_imm_off()
puranjaymohan Nov 14, 2025
d946f3c
bpf: Check skb->transport_header is set in bpf_skb_check_mtu
Nov 12, 2025
6cc73f3
selftests/bpf: Test bpf_skb_check_mtu(BPF_MTU_CHK_SEGS) when transpor…
Nov 12, 2025
4722981
bpf: don't skip other information if xlated_prog_insns is skipped
secDre4mer Nov 4, 2025
7dc211c
bpf: Fix invalid prog->stats access when update_effective_progs fails
Nov 15, 2025
1efb39d
adding ci files
Nov 18, 2025
40f6947
selftests/bpf: Emit nop,nop5 instructions for x86_64 usdt probe
olsajiri Nov 13, 2025
b6f8dc5
libbpf: Add uprobe syscall feature detection
olsajiri Nov 13, 2025
324b8a0
libbpf: Add support to parse extra info in usdt note record
olsajiri Nov 13, 2025
e220adc
selftests/bpf: Add test for checking correct nop of optimized usdt
olsajiri Nov 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/actions/veristat_baseline_compare/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: 'run-veristat'
description: 'Run veristat benchmark'
inputs:
veristat_output:
description: 'Veristat output filepath'
required: true
baseline_name:
description: 'Veristat baseline cache name'
required: true
runs:
using: "composite"
steps:
- uses: actions/upload-artifact@v4
with:
name: ${{ inputs.baseline_name }}
if-no-files-found: error
path: ${{ github.workspace }}/${{ inputs.veristat_output }}

# For pull request:
# - get baseline log from cache
# - compare it to current run
- if: ${{ github.event_name == 'pull_request' }}
uses: actions/cache/restore@v4
with:
key: ${{ github.base_ref }}-${{ inputs.baseline_name }}-
restore-keys: |
${{ github.base_ref }}-${{ inputs.baseline_name }}
path: '${{ github.workspace }}/${{ inputs.baseline_name }}'

- if: ${{ github.event_name == 'pull_request' }}
name: Show veristat comparison
shell: bash
run: ./.github/scripts/compare-veristat-results.sh
env:
BASELINE_PATH: ${{ github.workspace }}/${{ inputs.baseline_name }}
VERISTAT_OUTPUT: ${{ inputs.veristat_output }}

# For push: just put baseline log to cache
- if: ${{ github.event_name == 'push' }}
shell: bash
run: |
mv "${{ github.workspace }}/${{ inputs.veristat_output }}" \
"${{ github.workspace }}/${{ inputs.baseline_name }}"
- if: ${{ github.event_name == 'push' }}
uses: actions/cache/save@v4
with:
key: ${{ github.ref_name }}-${{ inputs.baseline_name }}-${{ github.run_id }}
path: '${{ github.workspace }}/${{ inputs.baseline_name }}'
13 changes: 13 additions & 0 deletions .github/scripts/collect-scx-bpf-progs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash

set -euo pipefail

PROGS_DIR=$1

mkdir -p "${PROGS_DIR}"

find "${SCX_BUILD_OUTPUT}" -type f -name "*.bpf.o" -printf '%P\0' | \
while IFS= read -r -d '' prog; do
obj_name=$(echo "${prog}" | tr / _)
cp -v "${SCX_BUILD_OUTPUT}/$prog" "${PROGS_DIR}/${obj_name}"
done
42 changes: 42 additions & 0 deletions .github/scripts/compare-veristat-results.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/bash

if [[ ! -f "${BASELINE_PATH}" ]]; then
echo "# No ${BASELINE_PATH} available" >> "${GITHUB_STEP_SUMMARY}"

echo "No ${BASELINE_PATH} available"
echo "Printing veristat results"
cat "${VERISTAT_OUTPUT}"

exit 0
fi

veristat=$(realpath selftests/bpf/veristat)
cmp_out=$(mktemp veristate_compare_out_XXXXXX.csv)

$veristat \
--output-format csv \
--emit file,prog,verdict,states \
--compare "${BASELINE_PATH}" "${VERISTAT_OUTPUT}" > $cmp_out

python3 ./.github/scripts/veristat_compare.py $cmp_out
exit_code=$?

echo
# if comparison failed, print verifier log for failure mismatches
if [[ -n "$VERISTAT_DUMP_LOG_ON_FAILURE" && $exit_code -ne 0 ]]; then
cat $cmp_out | tail -n +1 | \
while read -r line; do
verdict=$(echo $line | cut -d',' -f4)
verdict_diff=$(echo $line | cut -d',' -f5)
if [[ "$verdict" == "failure" && "$verdict_diff" == "MISMATCH" ]]; then
file=$(echo $line | cut -d',' -f1)
prog=$(echo $line | cut -d',' -f2)
echo "VERIFIER LOG FOR $file/$prog:"
echo "=================================================================="
$veristat -v $VERISTAT_OBJECTS_DIR/$file -f $prog 2>&1
echo "=================================================================="
fi
done
fi

exit $exit_code
30 changes: 30 additions & 0 deletions .github/scripts/download-gcc-bpf.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash

set -euo pipefail

GCC_BPF_RELEASE_GH_REPO=$1
INSTALL_DIR=$(realpath $2)

cd /tmp

tag=$(gh release list -L 1 -R ${GCC_BPF_RELEASE_GH_REPO} --json tagName -q .[].tagName)
if [[ -z "$tag" ]]; then
echo "Could not find latest GCC BPF release at ${GCC_BPF_RELEASE_GH_REPO}"
exit 1
fi

url="https://github.com/${GCC_BPF_RELEASE_GH_REPO}/releases/download/${tag}/${tag}.tar.zst"
echo "Downloading $url"
wget -q "$url"

tarball=${tag}.tar.zst
dir=$(tar tf $tarball | head -1 || true)

echo "Extracting $tarball ..."
tar -I zstd -xf $tarball && rm -f $tarball

rm -rf $INSTALL_DIR
mv -v $dir $INSTALL_DIR

cd -

Loading
Loading