This patch series is based on Eric’s work posted at: https://lore.kernel.org/all/[email protected]/
Eric’s patches introduce a new dm target, dm-inlinecrypt, to support inline block‑device encryption. The implementation builds on the work previously done in Android’s dm-default-key, but intentionally drops passthrough support, as that functionality does not appear likely to be accepted upstream in the near future. With this limitation, dm-inlinecrypt is positioned as a practical replacement for dm-crypt, rather than a general passthrough mechanism. On top of Eric’s series, this patch addresses a limitation in dm‑core: the inlinecrypt DM device does not currently have a block crypto profile initialized, because only DM devices with passthrough support can be associated with a block crypto profile today. However, dm-inlinecrypt consumes inline crypto capabilities itself and does not pass them through to upper layers. To support this model, this series introduces a new consuming‑crypto flag. This flag indicates that the underlying block device exposes inline crypto capabilities which are consumed directly by the DM device, rather than being propagated upward. This allows dm‑core to correctly initialize and manage a block crypto profile for dm‑inlinecrypt devices. Eric Biggers (2): block: export blk-crypto symbols required by dm-inlinecrypt dm-inlinecrypt: add target for inline block device encryption Linlin Zhang (1): dm-inlinecrypt: Expose inline crypto caps to the device block/blk-crypto.c | 3 + drivers/md/Kconfig | 10 + drivers/md/Makefile | 1 + drivers/md/dm-inlinecrypt.c | 416 ++++++++++++++++++++++++++++++++++ drivers/md/dm-table.c | 3 +- include/linux/device-mapper.h | 7 + 6 files changed, 439 insertions(+), 1 deletion(-) create mode 100644 drivers/md/dm-inlinecrypt.c -- 2.34.1

