[RFC PATCH 0/4] dm-default-key: target for filesystem metadata encryption
From: Eric Biggers
Date: Fri Oct 18 2024 - 14:45:16 EST
This series adds "metadata encryption" support to ext4 and f2fs via a
new device-mapper target dm-default-key. dm-default-key encrypts all
data on a block device that isn't already encrypted by the filesystem.
Except for the passthrough support, dm-default-key is basically the same
as the proposed dm-inlinecrypt which omits that feature
(https://lore.kernel.org/dm-devel/20241016232748.134211-1-ebiggers@xxxxxxxxxx/).
I am sending this out for reference, as dm-default-key (which Android
has been using for a while) hasn't previously been sent to the lists in
full, and there has been interest in it. However, my current impression
is that this feature will need to be redesigned as a filesystem native
feature in order to make it upstream. If that is indeed the case, then
IMO it would make sense to merge dm-inlinecrypt in the mean time instead
(or add its functionality to dm-crypt) so that anyone who just wants
"dm-crypt + inline encryption hardware" gets a solution for that.
Eric Biggers (4):
block: export blk-crypto symbols required by dm-default-key
block: add the bi_skip_dm_default_key flag
dm-default-key: add target for filesystem metadata encryption
ext4,f2fs: support metadata encryption via dm-default-key
block/bio.c | 3 +
block/blk-crypto-fallback.c | 2 +
block/blk-crypto.c | 3 +
drivers/md/Kconfig | 20 ++
drivers/md/Makefile | 1 +
drivers/md/dm-default-key.c | 431 ++++++++++++++++++++++++++++++++++++
fs/crypto/inline_crypt.c | 14 +-
fs/f2fs/data.c | 6 +-
include/linux/blk-crypto.h | 36 +++
include/linux/blk_types.h | 3 +
include/linux/fscrypt.h | 14 ++
11 files changed, 531 insertions(+), 2 deletions(-)
create mode 100644 drivers/md/dm-default-key.c
base-commit: c964ced7726294d40913f2127c3f185a92cb4a41
--
2.47.0