find-esp: when searching, don't trip over inodes we expect to be dirs to be something else, just continue searching

This commit is contained in:
Lennart Poettering
2022-09-20 13:52:01 +02:00
parent bd80fd7e56
commit 2b3a821f91
+3 -3
View 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;