From 403def1d11e64e2aa7de08f14fc21fd5cd993e4d Mon Sep 17 00:00:00 2001 From: Milan Broz Date: Thu, 11 Dec 2025 23:37:55 +0100 Subject: [PATCH] Fix inline format data device The data device from parameters was not applied properly for inline HW tags device. The luksFormat then fails if --header is used. --- lib/setup.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/setup.c b/lib/setup.c index 367d2d11..3a411733 100644 --- a/lib/setup.c +++ b/lib/setup.c @@ -3026,6 +3026,17 @@ int crypt_format_inline(struct crypt_device *cd, } else if (isLUKS2(type)) { lparams = params; iparams = lparams->integrity_params; + + if (lparams->data_device) { + if (!cd->metadata_device) + cd->metadata_device = cd->device; + else + device_free(cd, cd->device); + cd->device = NULL; + if (device_alloc(cd, &cd->device, lparams->data_device) < 0) + return -ENOMEM; + } + idevice = crypt_data_device(cd); required_sector_size = lparams->sector_size;