aboutsummaryrefslogtreecommitdiffstats
path: root/hw/cmdbuf_tmr.py (follow)
Commit message (Collapse)AuthorAge
* eighty-sixth pass: fuzz the load descriptor, find a third wedge and confirm ↵user2026-09-30
a boundary check All prior fuzzing mutated shared-buffer content, while the load descriptor is a separate host-controlled input that had never been touched. A third wedge trigger: the load command accepts a zero-length command buffer and allocates a session, and the first invoke on that session then hangs the processor for ten seconds and kills the ring, whereas the identical sequence with a normal length returns immediately having written its output. The load-time validation is missing and the failure surfaces as a hang rather than an error, making this simpler than the previously found triggers since it needs two ordinary commands and no crafted payload. A boundary check that holds: pointing the command buffer inside the processor's own trusted memory region is rejected, so host-supplied buffers are validated against that region and the most obvious confused-deputy write route is closed. A length far beyond the allocation is accepted but harmless. The objective is not met, since the zero-length case writes nothing before hanging and is therefore the same class as the others, a hang rather than memory corruption.