1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-30 06:25:37 +03:00

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-19 16:50:46 +02:00
parent bd80fd7e56
commit 2b3a821f91

View File

@ -521,7 +521,7 @@ int find_esp_and_warn(
flags | VERIFY_ESP_SEARCHING); flags | VERIFY_ESP_SEARCHING);
if (r >= 0) if (r >= 0)
goto found; 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 r;
p = mfree(p); p = mfree(p);
@ -801,10 +801,10 @@ int find_xbootldr_and_warn(
root ? " under directory " : "", root ? " under directory " : "",
strempty(root)); 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) if (r >= 0)
goto found; 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 r;
return -ENOKEY; return -ENOKEY;