Files
LithosAnanake/experiments/bare_metal/runs/doe-amd64-20260925-013706.csv
T
Robert Allan JamesandClaude Opus 5.5 df150e8626 Fix xHCI heap corruption: allocate the Output Device Context full size at Address Device, never swap it (found at O-C)
xhci_cmd_address_device() sized the Output Device Context for Slot + EP0
(64 bytes); xhci_cmd_configure_endpoint() then allocated a bigger copy and
repointed DCBAA[slot_id]. The controller keeps the address it was given at
Address Device (QEMU caches it), so every bulk Endpoint Context was written
past the 64-byte block into the next kmalloc header -- on every USB
mass-storage attach, every ISA. After O-C's smoke campaign reshuffled the
heap, a kfree at thumbdrive unplug walked into it: #GP in coalesce_neighbors().

Found with temporary instrumentation (load base, code bytes at RIP, event
crumbs, a heap-list checker): the corrupt word was an EP Context (Bulk IN,
Running, MPS 1024) exactly DCI 3 x 32 bytes into the 64-byte context.

Now: XHCI_DEVICE_CTX_BYTES (32 contexts x 32 bytes) allocated once per
slot at Address Device, zeroed whole, never reallocated; Configure
Endpoint just fills it. Also ends the per-attach leak of the old context.

Verified: heap checker clean from boot; campaign -> O-A -> MINT -> unplug
-> re-attach passes with 0 exceptions; 3-ISA acceptance passes, parity and
dict_hash set unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 10:57:43 -04:00

1.6 KiB

1vm_namevm_id_hextick_numberelapsed_nstick_interval_nscache_hits_deltabucket_hits_deltaword_executions_deltahot_word_countavg_word_heat_q48window_widthactual_window_sizepredicted_label_hitsjitter_bitsapic_tickstime_trust_q48variance_q48vm_call_depth_maxhera_heat_q48hermes_heat_q48artemis_heat_q48fleet_k_q48fleet_conservedswitch_count_cumulativeswitch_current_slotswitch_hera_readinessswitch_hermes_readinessswitch_artemis_readinessswitch_ticks_since
2Hera0000000000000000-0000000000000000767600001000000256613540964096002001165533316553600655361020009
3Hera0000000000000000-00000000000000007777000010000002566236204820480020012655333165536006553610200010
4Hera0000000000000000-00000000000000007878000010000002566237204820480020014655333165536006553610200011
53a3611885b52444c-91aeb2c97116703711000018446744073708781616009344409600489541279495172877120125655333065536006553610200011
6Hera0000000000000000-00000000000000007979000078000000155726738102410240469486146172852633620132655333165536006553610200012
7edaab92527ee4080-ac1e0c431056e4e711000018446744073708771616009878409600489541279495172876620253655333065536006553610200012
8Hera0000000000000000-00000000000000008080000079000000158236939102410240469494736107444633620260655333165536006553610200013
9Hera0000000000000000-000000000000000081810000100000025671405125120020309655333165536006553610200014