Context
WOLFSPDM_DYNAMIC_MEMORY (wolfTPM --enable-smallstack) only heap-allocates the context and the ML-DSA key. The TCG transport and vendor command paths still keep their per-call buffers on the stack, same as wolfTPM master.
Origin
main...wolftpm-core
What is needed
- Allocate the TCG transport and vendor command scratch buffers with XMALLOC under
WOLFSPDM_DYNAMIC_MEMORY, freeing on every path.
- Measure peak stack before and after.
Blockers and dependencies
No response
Acceptance criteria
Small-stack Nuvoton and Nations builds pass; valgrind clean; measured stack drop recorded.
Context
WOLFSPDM_DYNAMIC_MEMORY(wolfTPM--enable-smallstack) only heap-allocates the context and the ML-DSA key. The TCG transport and vendor command paths still keep their per-call buffers on the stack, same as wolfTPM master.Origin
main...wolftpm-core
What is needed
WOLFSPDM_DYNAMIC_MEMORY, freeing on every path.Blockers and dependencies
No response
Acceptance criteria
Small-stack Nuvoton and Nations builds pass; valgrind clean; measured stack drop recorded.