From c25ce7c585f46e451dc1036c51f35edd3f0c43a7 Mon Sep 17 00:00:00 2001 From: Ondrej Kozina Date: Mon, 24 Jun 2019 17:13:02 +0200 Subject: [PATCH] Allow disabling of reencryption locks via crypt_metadata_locking() --- lib/luks2/luks2_reencrypt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/luks2/luks2_reencrypt.c b/lib/luks2/luks2_reencrypt.c index 1f6d3262..f6ba4173 100644 --- a/lib/luks2/luks2_reencrypt.c +++ b/lib/luks2/luks2_reencrypt.c @@ -2540,6 +2540,11 @@ int crypt_reencrypt_lock(struct crypt_device *cd, const char *uuid, struct crypt if (strcmp(uuid, tmp)) return -EINVAL; + if (!crypt_metadata_locking_enabled()) { + *reencrypt_lock = NULL; + return 0; + } + r = asprintf(&lock_resource, "LUKS2-reencryption-%s", uuid); if (r < 0) return -ENOMEM; @@ -3152,7 +3157,7 @@ int crypt_reencrypt(struct crypt_device *cd, } rh = crypt_get_reenc_context(cd); - if (!rh || !rh->reenc_lock) { + if (!rh || (!rh->reenc_lock && crypt_metadata_locking_enabled())) { log_err(cd, _("Missing or invalid reencrypt context.")); return -EINVAL; }