]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
find-esp: add debugging log about failure in parsing env variable
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 19 Dec 2023 03:06:00 +0000 (12:06 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 19 Dec 2023 11:01:26 +0000 (12:01 +0100)
Addresses https://github.com/systemd/systemd/pull/30321#discussion_r1429716344.

src/shared/find-esp.c

index bbfd3b175f38a5486ec9a22c189db734e81e0e0e..db87084a4da83861a897e99777c4ea8f4e89d1b4 100644 (file)
@@ -33,6 +33,7 @@ typedef enum VerifyESPFlags {
 
 static VerifyESPFlags verify_esp_flags_init(int unprivileged_mode, const char *env_name_for_relaxing) {
         VerifyESPFlags flags = 0;
+        int r;
 
         assert(env_name_for_relaxing);
 
@@ -41,7 +42,10 @@ static VerifyESPFlags verify_esp_flags_init(int unprivileged_mode, const char *e
         if (unprivileged_mode)
                 flags |= VERIFY_ESP_UNPRIVILEGED_MODE;
 
-        if (getenv_bool(env_name_for_relaxing) > 0)
+        r = getenv_bool(env_name_for_relaxing);
+        if (r < 0 && r != -ENXIO)
+                log_debug_errno(r, "Failed to parse $%s environment variable, assuming false.", env_name_for_relaxing);
+        else if (r > 0)
                 flags |= VERIFY_ESP_SKIP_FSTYPE_CHECK | VERIFY_ESP_SKIP_DEVICE_CHECK;
 
         if (detect_container() > 0)