Commit f232247
committed
entrybleed: populate the offset table and correct the KPTI/non-KPTI reporting
Key the per-build offsets on an FNV-1a-64 hash of the uname fingerprint
(as qemu_tcg_iret and bpf_verifier_ksym do) and fill the table from the
x86_64 System.map corpus: 125 -> 4922 rows, so the leaked page resolves to
the base on common distro builds.
Rework the reporting to match what the technique does. Under KPTI only
entry_SYSCALL_64 is exposed to the user page tables, so it pins the base
reliably (confirmed byte-exact on a live Intel + KPTI host). Without KPTI
the whole kernel is mapped and no single page is unique, so that path is
best-effort; a failure no longer misreports "CPU microcode-mitigated"
(disproven -- the general prefetch leak works on the same host). Emit the
KPTI recovery as an image-base pin, the non-KPTI result as a weaker interior
sample.
Also standardise the "hardware:" meta and drop unused <errno.h>/<stdio.h>.1 parent 931d4a1 commit f232247
1 file changed
Lines changed: 5126 additions & 157 deletions
0 commit comments