Check account boundaries on overlapping memmove syscall#4563
Check account boundaries on overlapping memmove syscall#4563seanyoung merged 3 commits intoanza-xyz:masterfrom
Conversation
|
The Firedancer team maintains a line-for-line reimplementation of the |
d23d71e to
37a210d
Compare
37a210d to
6b0ca16
Compare
|
Backports to the beta branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. Exceptions include CI/metrics changes, CLI improvements and documentation updates on a case by case basis. |
* fix reverse memmove (cherry picked from commit 4b89b0f)
Problem
Since SIMD-0219, any memmove cannot cross account data and non-account data boundaries. This was implemented in PR 3744.
However there was a check missing: memmove may do an overlapping copy which requires reverse iteration, and this code path did not have the check in place.
Summary of Changes
Found by @yufeng-jump and @mjain-jump