Skip to content

zeroize: simplify bulk volatile writes - #1603

Merged
tarcieri merged 1 commit into
masterfrom
zeroize/simplify-bulk-volatile-writes
Nov 15, 2026
Merged

tarcieri merged 1 commit into
masterfrom
zeroize/simplify-bulk-volatile-writes

Conversation

@tarcieri

Copy link
Copy Markdown
Member

Followup to #1602 which migrates to safe slice-based fills for initialized values, bypassing the slice-pointer-slice round trip which was previously happening with the volatile_set-based API, which has subsequently been replaced with volatile_zero for the non-slice based use cases.

This can potentially be DRYed out further with zeroize_flat_type, which I'd like to explore in a further followup.

@tarcieri
tarcieri force-pushed the zeroize/simplify-bulk-volatile-writes branch from c37e5db to 2313d82 Compare November 15, 2026 17:11
Followup to #1602 which migrates to safe slice-based fills for
initialized values, bypassing the slice-pointer-slice round trip which
was previously happening with the `volatile_set`-based API, which has
subsequently been replaced with `volatile_zero` for the non-slice based
use cases.

This can potentially be DRYed out further with `zeroize_flat_type`,
which I'd like to explore in a further followup.
@tarcieri
tarcieri force-pushed the zeroize/simplify-bulk-volatile-writes branch from 2313d82 to 76fefb5 Compare November 15, 2026 17:14
@tarcieri
tarcieri merged commit 76e41a6 into master Nov 15, 2026
29 checks passed
@tarcieri
tarcieri deleted the zeroize/simplify-bulk-volatile-writes branch November 15, 2026 17:17
tarcieri added a commit that referenced this pull request Nov 15, 2026
Adds an optimized byte slice zeroing function which uses a regular
`fill` followed by `optimization_barrier` on platforms with stable
`asm!` and falls back on the bulk volatile write implementation added
in #1602 on other platforms.

This approach should maintain the previous guarantees the purely
volatile write-based approach provided on all platforms, while also
providing the performance of the `optimization_barrier`-based approach
on platforms with `asm!`.

This function is public but also able to subsume the previous role of
the internal `volatile_zero` function added in #1603.
tarcieri added a commit that referenced this pull request Nov 15, 2026
Adds an optimized byte slice zeroing function which uses a regular
`fill` followed by `optimization_barrier` on platforms with stable
`asm!` and falls back on the bulk volatile write implementation added
in #1602 on other platforms.

This approach should maintain the previous guarantees the purely
volatile write-based approach provided on all platforms, while also
providing the performance of the `optimization_barrier`-based approach
on platforms with `asm!`.

This function is public but also able to subsume the previous role of
the internal `volatile_zero` function added in #1603.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant