diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2026-09-19 05:26:43 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-09-19 05:26:44 +0000 |
| commit | e3b6cb020e2f034a98068b2d11bcb3db9fff7e42 (patch) | |
| tree | 4ccf14c091eec8f60238e251fc509b459342b753 /tools/perf/scripts/python | |
| parent | cdeea2971973247e2c95a8fc3d90a445c8f010f5 (diff) | |
| parent | 0288ed67482b6e370eb3fa6b07720df435907970 (diff) | |
| download | linux-next-e3b6cb020e2f034a98068b2d11bcb3db9fff7e42.tar.gz linux-next-e3b6cb020e2f034a98068b2d11bcb3db9fff7e42.zip | |
Merge branch 'fix-acyclic-ownership-checks'
Kumar Kartikeya Dwivedi says:
====================
Fix acyclic ownership checks
Bound and ensure acyclic ownership graphs for native data structures to
fix a bug reported by Nicholas. See commit logs and tests for details.
The existing list/rbtree rule already rejects graph-only cycles and bounds
those chains conservatively. It misses ownership through local referenced
kptrs, which can produce unbounded synchronous field destruction. Validate
all local ownership edges together, with an explicit depth bound, and allow
longer acyclic graph-only layouts within that bound.
Changelog:
----------
v1 -> v2
v1: https://lore.kernel.org/bpf/20260905090750.4064411-1-memxor@gmail.com/
* Fold the graph-walk and local-kptr changes into one complete fix. (Alexei)
* Explain why the original rule catches graph-only cycles, its three-type
chain bound, and the missing local-kptr ownership edges. (Alexei)
* Distinguish synchronous recursive field destruction from the deferred
RCU freeing of object storage.
* Add depth-boundary tests with child-first BTF ordering and a shared
suffix reached with different remaining budgets.
* Cover list and rbtree chains at the original three-type bound and at the
new eight-type bound, including rejected over-limit cases.
====================
Link: https://patch.msgid.link/20260914132444.2564218-1-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
