]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
find-esp: when searching, don't trip over inodes we expect to be dirs to be something... 24711/head
authorLennart Poettering <lennart@poettering.net>
Mon, 19 Sep 2022 14:50:46 +0000 (16:50 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 20 Sep 2022 11:52:01 +0000 (13:52 +0200)
src/shared/find-esp.c

index 0708d3f57ffaf4bf0b4b620fd0cb938fb80676fa..22e7f7472d7b13ca65d2fa9f9b95a3e068419c56 100644 (file)
@@ -521,7 +521,7 @@ int find_esp_and_warn(
                                flags | VERIFY_ESP_SEARCHING);
                 if (r >= 0)
                         goto found;
-                if (!IN_SET(r, -ENOENT, -EADDRNOTAVAIL)) /* This one is not it */
+                if (!IN_SET(r, -ENOENT, -EADDRNOTAVAIL, -ENOTDIR)) /* This one is not it */
                         return r;
 
                 p = mfree(p);
@@ -801,10 +801,10 @@ int find_xbootldr_and_warn(
                                        root ? " under directory " : "",
                                        strempty(root));
 
-        r = verify_xbootldr(p, true, unprivileged_mode, ret_uuid, ret_devid);
+        r = verify_xbootldr(p, /* searching= */ true, unprivileged_mode, ret_uuid, ret_devid);
         if (r >= 0)
                 goto found;
-        if (!IN_SET(r, -ENOENT, -EADDRNOTAVAIL)) /* This one is not it */
+        if (!IN_SET(r, -ENOENT, -EADDRNOTAVAIL, -ENOTDIR)) /* This one is not it */
                 return r;
 
         return -ENOKEY;