Struct secmem_alloc::zeroize::VolatileWrite8Zeroizer [−][src]
pub struct VolatileWrite8Zeroizer;
Expand description
This zeroizer uses a volatile write per 8 bytes if the pointer is 8 byte
aligned, and otherwise uses VolatileWriteZeroizer
. This zeroization
technique is available for all target platforms on stable, but not very
fast.
In addition to the volatile write we place a compiler fence right next to the volatile write. This should not be necessary for secure zeroization since the volatile semantics guarenties our writes are not elided, and they can not be delayed since we are deallocating the memory after zeroization. The use of this fence is therefore only a precaution.
This zeroization method can benefit (in terms of performance) from using the
MemZeroizer::zeroize_mem_minaligned
function instead of
MemZeroizer::zeroize_mem
function if a minimum alignment might be known
at compile time.
Trait Implementations
Returns the “default value” for a type. Read more
Zeroize the memory pointed to by ptr
and of size len
bytes, aligned
at least align
. Read more
Auto Trait Implementations
impl RefUnwindSafe for VolatileWrite8Zeroizer
impl Send for VolatileWrite8Zeroizer
impl Sync for VolatileWrite8Zeroizer
impl Unpin for VolatileWrite8Zeroizer
impl UnwindSafe for VolatileWrite8Zeroizer
Blanket Implementations
Mutably borrows from an owned value. Read more