Skip to content

Commit d649327

Browse files
r41k0uclaude
andcommitted
Docs: Refresh the audit numbers after the classifier fixes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1 parent 49e7485 commit d649327

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

‎tests/kernel_selftest_equivalent/PORTING-NOTES.md‎

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ type, never narrowing. It now goes through `convert()` like every other integer
142142
## Third batch: what the re-run audit found
143143

144144
`tools/selftest-audit.py` is the corpus classifier, rebuilt and checked in. Run against
145-
the current upstream `progs/` it reports 847 real programs, 25 with no hard blocker. All
145+
the current upstream `progs/` it reports 854 real programs, 25 with no hard blocker. All
146146
but two of those 25 were already ported or are unportable for a reason a regex cannot see
147147
(`bpf_nop_bench.c` hides a loop in a macro, `test_pkt_md_access.c` type-puns narrow loads,
148148
`tracing_struct_int128.c` indexes the raw ctx array and needs bpf_testmod to load). The
@@ -173,23 +173,28 @@ increment loses.
173173

174174
### The blocker histogram now
175175

176-
Over 847 real programs, hard blockers only; a program usually hits several:
176+
Over 854 real programs, hard blockers only; a program usually hits several:
177177

178178
| Blocker | Programs | Share |
179179
|---|---|---|
180-
| unsupported helper | 496 | 59% |
181-
| kfuncs | 284 | 34% |
180+
| unsupported helper | 504 | 59% |
182181
| unsupported map type | 273 | 32% |
182+
| kfuncs | 242 | 28% |
183183
| verifier-test annotations | 238 | 28% |
184-
| typed program macros (`BPF_PROG`, `BPF_KPROBE`) | 234 | 28% |
185-
| BPF-to-BPF calls | 176 | 21% |
184+
| typed program macros (`BPF_PROG`, `BPF_KPROBE`) | 237 | 28% |
186185
| `goto` | 143 | 17% |
187186
| inline asm | 142 | 17% |
187+
| BPF-to-BPF calls | 128 | 15% |
188188
| struct globals | 126 | 15% |
189189
| CO-RE reads | 116 | 14% |
190-
| loops | 109 | 13% |
191-
| array globals | 105 | 12% |
192-
| atomics | 86 | 10% |
190+
| loops | 110 | 13% |
191+
| array globals | 109 | 13% |
192+
| atomics | 87 | 10% |
193+
194+
Earlier revisions of this table over-counted kfuncs (the pattern matched every
195+
`bpf_skb_*`/`bpf_xdp_*` helper) and BPF-to-BPF calls (it matched `SEC("?...")`), and
196+
under-counted real programs by seven (a `//` inside a section name was stripped as a
197+
comment). The portable set of 25 was unaffected.
193198

194199
Globals no longer appear as a blocker at all. The next unlocks by count are helpers (a
195200
long tail, but `bpf_get_current_task`, `bpf_ktime_get_boot_ns` and the `bpf_probe_read_user*`

0 commit comments

Comments
 (0)