From: Ondrej Kozina Date: Wed, 22 Jul 2020 10:26:18 +0000 (+0200) Subject: cryptsetup-generator: Add warn_uuid_invalid helper X-Git-Tag: v247-rc1~33^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c3ee5b34f50f2d779bc4a848c650b8258c479528;p=thirdparty%2Fsystemd.git cryptsetup-generator: Add warn_uuid_invalid helper --- diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index 3b436ec9673..4710b66653f 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -526,6 +526,17 @@ static crypto_device *get_crypto_device(const char *uuid) { return d; } +static bool warn_uuid_invalid(const char *uuid, const char *key) { + assert(key); + + if (!id128_is_valid(uuid)) { + log_warning("Failed to parse %s= kernel command line switch. UUID is invalid, ignoring.", key); + return true; + } + + return false; +} + static int parse_proc_cmdline_item(const char *key, const char *value, void *data) { _cleanup_free_ char *uuid = NULL, *uuid_value = NULL; crypto_device *d; @@ -592,10 +603,8 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat if (!uuid) return log_oom(); - if (!id128_is_valid(uuid)) { - log_warning("Failed to parse luks.key= kernel command line switch. UUID is invalid, ignoring."); + if (warn_uuid_invalid(uuid, key)) return 0; - } d = get_crypto_device(uuid); if (!d)