diff options
| author | Emil Tsalapatis <emil@etsalapatis.com> | 2026-10-19 20:11:08 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-10-20 00:18:31 +0000 |
| commit | 6c372031078cfa4c1ee1a789d29108af794ec1ab (patch) | |
| tree | b641c20ca9ab089427e31ddc9bd5dd1e95f5ab06 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 7244a2e58d2167292972f9380abb3a4d17a343e3 (diff) | |
selftests/bpf: Add arena allocation race tests
Add selftests for races between arena frees, reallocation and user
faults:
- realloc_during_free, realloc_during_deferred_free: a synchronous
or deferred free keeps its range allocated until it completes.
- fault_free_realloc: user and BPF views of a page stay coherent
while it is repeatedly faulted, freed and reallocated.
Pause frees in zap_vma_range(), after the range's kernel mappings are
gone. Unlike flush_tlb_kernel_range(), which is inline on arm64, it is
generic MM code that fentry can attach to. Map the page into user space
first, so that the free has to zap it. Print why a subtest is skipped
when a tracing target is missing. The reader in fault_free_realloc skips
reads that raise SIGBUS, which a fault on a page that is being freed
does.
Signed-off-by: Emil Tsalapatis <emil@etsalapatis.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://patch.msgid.link/20261019201108.4552-4-emil@etsalapatis.com
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
