chacha-opt
chacha-opt copied to clipboard
arm one-shot chacha_armv6 stores data below stack pointer
E.g.
https://github.com/floodyberry/chacha-opt/blob/d69e5acbc632ded477fa7056564c8a830c457de0/app/extensions/chacha/chacha_armv6-32.inc#L440
This stores data below stack pointer, then move pointer back, and expect same data still there.
https://github.com/floodyberry/chacha-opt/blob/d69e5acbc632ded477fa7056564c8a830c457de0/app/extensions/chacha/chacha_armv6-32.inc#L445
I could be wrong, but as I don't see anything like amd64's "red zone" in arm ABI documentation, so this looks incorrect (application cannot rely on data stored below sp
, even temporarily).
Same apply to
https://github.com/floodyberry/chacha-opt/blob/d69e5acbc632ded477fa7056564c8a830c457de0/app/extensions/chacha/chacha_neon-32.inc#L829