From f53c00af401e90f362c03c8e84a7efb4699f25cd Mon Sep 17 00:00:00 2001 From: Dara Adib Date: Sat, 4 Jul 2026 20:17:42 -0400 Subject: [PATCH 1/2] repart: allow empty EncryptedVolume= volume name Treat an empty volume name alongside other fields as unset instead of rejecting it as invalid. --- src/repart/repart.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/repart/repart.c b/src/repart/repart.c index e0e494a6f2..a28cc0c7cf 100644 --- a/src/repart/repart.c +++ b/src/repart/repart.c @@ -2700,7 +2700,9 @@ static int config_parse_encrypted_volume( return 0; } - if (!filename_is_valid(volume)) { + if (isempty(volume)) + volume = mfree(volume); + else if (!filename_is_valid(volume)) { log_syntax(unit, LOG_WARNING, filename, line, 0, "Volume name %s is not valid, ignoring", volume); return 0; From da111b334159415d124d4f7febc249e6df0c95f2 Mon Sep 17 00:00:00 2001 From: Dara Adib Date: Mon, 6 Jul 2026 23:37:10 -0400 Subject: [PATCH 2/2] test: add case for repart with EncryptedVolume blank name --- test/units/TEST-58-REPART.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/test/units/TEST-58-REPART.sh b/test/units/TEST-58-REPART.sh index 88d486ebc0..092188a0fa 100755 --- a/test/units/TEST-58-REPART.sh +++ b/test/units/TEST-58-REPART.sh @@ -2447,6 +2447,40 @@ EOF losetup -d "$loop" } +testcase_encrypted_volume_empty_name() { + local defs imgs + + defs="$(mktemp --directory "/tmp/test-repart.defs.XXXXXXXXXX")" + imgs="$(mktemp --directory "/var/tmp/test-repart.imgs.XXXXXXXXXX")" + # shellcheck disable=SC2064 + trap "rm -rf '$defs' '$imgs'" RETURN + chmod 0755 "$defs" + + echo "*** testcase for EncryptedVolume= with empty volume name ***" + + tee "$defs/root.conf" <