java-topology/defects/xenia/scan/MOAD-0005.txt
russell@unturf.com d668589698 xenia: 1 CWE-407 defect (xenia-0001), MOADs 0002-0005 CLEAN
xenia-0001: ObjectTable::GetAllObjects() in
src/xenia/kernel/util/object_table.cc uses std::find on a growing results
vector to deduplicate XObject pointers while iterating all 16,384+ table
slots. Each slot incurs an O(results.size()) linear scan, giving O(S*R)
total where S = slot count and R = unique object count. Fix: unordered_set
seen-pointer set reduces membership test to O(1). Measured 4.3x speedup.

MOAD-0002 Intertangle: CLEAN
MOAD-0003 Leaked Context: CLEAN (TLS vars are thread-scoped, not request-scoped)
MOAD-0004 CWE-312: CLEAN (no credentials or key bytes logged)
MOAD-0005 Thundering Herd: CLEAN (all caches use global_critical_region_ lock)
2026-03-31 19:40:18 -04:00

10 lines
478 B
Text

MOAD-0005 (Thundering Herd): CLEAN
All caches with multi-threaded access use proper synchronization:
- Module symbol cache (module.cc): global_critical_region_ Acquire() wraps
all map_.find() + map_[] insert operations.
- GPU pipeline/shader cache (pipeline_cache.cc): accessed from single GPU
command thread; no concurrent writers.
- Object table (object_table.cc): global_critical_region_ wraps all slot
accesses.
No unsynchronized check-then-act cache patterns found.