Skip to content

Releases: niluxv/secmem-alloc

v0.2.0

13 Apr 17:51
ace7383
Compare
Choose a tag to compare

Summary

Port assembly to Rust and refactor MemZeroizer trait.

Date: 2022-04-12
Version: 0.2.0

Changelog

Added

  • X86_64 SSE2 and AVX simd zeroizers using inline assembly.
  • nightly_stdsimd and nightly_strict_provenance features. Both don't affect
    the library interface currently.

Changed

  • Ported AsmRepStosZeroizer to use Rust inline assembly rather than C inline
    assembly so it doesn't require the cc feature and a C compiler anymore.
  • MemZeroizer trait, replaced zeroize_mem_minaligned method with new method
    zeroize_mem_blocks which takes the logarithm of the align and in addition a
    logarithm of block size as constant generics (such that len must be a
    multiple of of this block size, and ptr is aligned to the specified align).
  • DefaultMemZeroizer now uses one of the simd zeroizers when available and no
    libc zeroizer or nightly compiler (nightly_core_intrinsics feature) is
    available.

Removed

  • cc crate feature, since the C inline assembly has been ported to Rust inline assembly.