38 lines
1.1 KiB
Diff
38 lines
1.1 KiB
Diff
From 727d0b55f46468d6171f4a326bd3139bab3c93ab Mon Sep 17 00:00:00 2001
|
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
|
Date: Mon, 23 Aug 2021 06:16:48 +0900
|
|
Subject: [PATCH] path-util: make find_executable() work without /proc mounted
|
|
|
|
Follow-up for 888f65ace6296ed61285d31db846babf1c11885e.
|
|
|
|
Hopefully fixes #20514.
|
|
|
|
(cherry picked from commit 93413acd3ef3a637a0f31a1d133b103e1dc81fd6)
|
|
|
|
Conflict:NA
|
|
Reference:https://github.com/systemd/systemd/commit/727d0b55f46468d6171f4a326bd3139bab3c93ab
|
|
---
|
|
src/basic/path-util.c | 6 +++++-
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/basic/path-util.c b/src/basic/path-util.c
|
|
index e5afb5f5f5..13d71ed1b6 100644
|
|
--- a/src/basic/path-util.c
|
|
+++ b/src/basic/path-util.c
|
|
@@ -628,7 +628,11 @@ static int check_x_access(const char *path, int *ret_fd) {
|
|
return r;
|
|
|
|
r = access_fd(fd, X_OK);
|
|
- if (r < 0)
|
|
+ if (r == -ENOSYS) {
|
|
+ /* /proc is not mounted. Fallback to access(). */
|
|
+ if (access(path, X_OK) < 0)
|
|
+ return -errno;
|
|
+ } else if (r < 0)
|
|
return r;
|
|
|
|
if (ret_fd)
|
|
--
|
|
2.33.0
|
|
|