<feed xmlns='http://www.w3.org/2005/Atom'>
<title>amd-psp-re.git/hw/tmr_edge.py, branch main</title>
<subtitle>AMD PSP reverse engineering, emulator and vulnerability research</subtitle>
<id>https://git.sl0p.foo/amd-psp-re.git/atom/hw/tmr_edge.py?h=main</id>
<link rel='self' href='https://git.sl0p.foo/amd-psp-re.git/atom/hw/tmr_edge.py?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/amd-psp-re.git/'/>
<updated>2026-09-30T00:06:41Z</updated>
<entry>
<title>eighty-seventh pass: the trusted-region range check is correct, no off-by-one</title>
<updated>2026-09-30T00:06:41Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-30T00:06:41Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/amd-psp-re.git/commit/?id=10f3351528ca2e1cc96ce887b36763eb3279c5b0'/>
<id>urn:sha1:10f3351528ca2e1cc96ce887b36763eb3279c5b0</id>
<content type='text'>
The previous pass showed a command buffer inside the trusted region is rejected, and the
classic failure mode is validating only the start address, which would let a buffer
starting outside and extending into the region through so that any output written there
would land in trusted memory.

Testing the edges with controls at both ends shows a buffer starting below the region and
extending into it is rejected, one starting inside and extending past the end is rejected,
one starting inside is rejected, and an ordinary buffer and one starting exactly at the
region end are both accepted. So the processor validates the whole range rather than
merely the start, with correct end-exclusive boundary semantics, and both controls behave
so the rejections are the check firing rather than a broken harness.

This closes the most promising remaining route to a corruption primitive on the descriptor
surface, since the obvious confused-deputy write into trusted memory is properly defended.
The objective is not met.
</content>
</entry>
</feed>
