On 8/11/26 7:53 PM, Jan Sebastian Götte wrote:
Wipe volume key/iv copies kept by dm-crypt with
CONFIG_CRASH_WIPE_SECRETS. The backend tfms are already handled
separately.

Add a list tracking struct crypt_config instances when
CONFIG_CRASH_WIPE_SECRETS is set. Structs are tracked here to avoid
having to enumerate them through some roundabout way before kdump, when
we can't safely take locks anymore.

Well, dm-crypt has crypt_wipe_key(), which can be called through a 
device-mapper message.
It also sets keys to zero in the crypto API.

Why do we need yet another way to wipe keys here, reimplementing everything 
twice?

I can imagine an emergency wrapper callback that will suspend dm-crypt and call 
existing code.

Use custom wipe handlers even for things like ivs that have existing
wipe functions elsewhere because we need to use crash_wipe_memzero
instead of memzero_explicit. The crash_wipe helper memzero_explicit's
the target buffers and flushes data caches. On ARM64, missing that cache
flush could lead to the zeros not being written to DRAM before the kdump
code turns off the data caches moments later.

Please no. It looks to me like you are trying to fix this on the wrong layer.
This way everyone will need their own memzero...

Dunno, but I really do not like dm-crypt becoming completely bloated with code
that has nothing to do with the original purpose of this driver.

Milan



Signed-off-by: Jan Sebastian Götte <[email protected]>
---
  drivers/md/dm-crypt.c | 151 ++++++++++++++++++++++++++++++++++++++++++++------
  1 file changed, 134 insertions(+), 17 deletions(-)


Reply via email to