值得一看可能需要的修复或功能
密码学块混合中的 Win64 ABI 修复
今天带来了一个针对使用 mORMot2 密码学的 Windows x64 应用程序的重要修复。一个底层汇编例程没有保留特定的 XMM 寄存器,从而违反了调用约定,这可能导致调用代码出现不可预测的行为。
要点
- SBlockMix assembly now correctly preserves XMM8-XMM11 registers on Win64.
升级建议
运行使用 mORMot 密码学(例如 scrypt 或特定的块算法)的 Win64 后端团队应该拉取此更新,以防止潜在的寄存器损坏。
版本号2.4.16628 → 2.4.16629
提交1
行数+12 -2
阅读1 分钟
1 条中的 1 条 · 上游 1 次提交
#
条目
类别
单元
1
中
汇编例程在 Win64 上破坏了 XMM 寄存器
修改了 mormot.crypt.other 中针对 ABIWINX64 目标的 SBlockMix 内联汇编。它现在从堆栈指针中减去 72 个字节,并在执行前使用 movaps 保存寄存器 xmm8、xmm9、xmm10 和 xmm11,随后进行恢复。
修复
mormot.crypt.other
2c1daf90+12-2
crypt: fixed SBlockMix Win64 asm
影响
以前,在 Win64 上调用 SBlockMix 会覆盖非易失性 XMM 寄存器而不进行恢复,这违反了 Windows x64 调用约定。这可能导致调用者状态中出现不可预测的错误或访问冲突。
建议升级
如果您的应用程序依赖于使用 SBlockMix 的加密函数,请重新编译并部署 Win64 二进制文件。
提交977
活跃天数44/60
最忙一天2026-09-30
峰值60
2026-08-152026-10-13