diff --git a/lib/luks2/luks2_json_metadata.c b/lib/luks2/luks2_json_metadata.c index df2c316d..8a7f7945 100644 --- a/lib/luks2/luks2_json_metadata.c +++ b/lib/luks2/luks2_json_metadata.c @@ -2188,7 +2188,7 @@ static bool is_reencryption_helper(const char *name) return false; len = strlen(name); - return (len >= 9 && (!strcmp(name + len - 8, "-hotzone") || + return (len >= 9 && (!strncmp(name + len - 8, "-hotzone-", 9) || !strcmp(name + len - 8, "-overlay"))); } diff --git a/lib/luks2/luks2_reencrypt.c b/lib/luks2/luks2_reencrypt.c index 3704fcfc..e8703573 100644 --- a/lib/luks2/luks2_reencrypt.c +++ b/lib/luks2/luks2_reencrypt.c @@ -1184,7 +1184,8 @@ static int LUKS2_reenc_context_set_name(struct luks2_reenc_context *rh, const ch if (!(rh->device_name = strdup(name))) return -ENOMEM; - if (asprintf(&rh->hotzone_name, "%s-hotzone", name) < 0) { + if (asprintf(&rh->hotzone_name, "%s-hotzone-%s", name, + rh->direction == CRYPT_REENCRYPT_FORWARD ? "forward" : "backward") < 0) { rh->hotzone_name = NULL; return -ENOMEM; }