summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-id128
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-12-12 22:03:52 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-12-12 22:04:53 +0900
commite2720340e9fdf3aee2e8998dc72798de50be3630 (patch)
treee48f13e3e1f37a086acc282b9a9e8b02eb3cdcfb /src/libsystemd/sd-id128
parent9be90c401e16cf04a9cea0b19fdefa7d0a47f056 (diff)
downloadsystemd-e2720340e9fdf3aee2e8998dc72798de50be3630.tar.gz
sd-id128: make sd_id128_get_boot() and friend return -ENOSYS when /proc/ is not mounted
Diffstat (limited to 'src/libsystemd/sd-id128')
-rw-r--r--src/libsystemd/sd-id128/sd-id128.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libsystemd/sd-id128/sd-id128.c b/src/libsystemd/sd-id128/sd-id128.c
index 70b1a10c74..8f9801ae37 100644
--- a/src/libsystemd/sd-id128/sd-id128.c
+++ b/src/libsystemd/sd-id128/sd-id128.c
@@ -15,6 +15,7 @@
#include "macro.h"
#include "missing_syscall.h"
#include "random-util.h"
+#include "stat-util.h"
#include "user-util.h"
_public_ char *sd_id128_to_string(sd_id128_t id, char s[_SD_ARRAY_STATIC SD_ID128_STRING_MAX]) {
@@ -146,6 +147,8 @@ _public_ int sd_id128_get_boot(sd_id128_t *ret) {
if (sd_id128_is_null(saved_boot_id)) {
r = id128_read("/proc/sys/kernel/random/boot_id", ID128_FORMAT_UUID, &saved_boot_id);
+ if (r == -ENOENT && proc_mounted() == 0)
+ return -ENOSYS;
if (r < 0)
return r;