[PATCH] erofs-utils: fix missing getrandom() on some macOS platforms
Gao Xiang
hsiangkao at linux.alibaba.com
Fri Jun 27 17:33:19 AEST 2025
It has <sys/random.h> but not getrandom().
Fixes: 5de439566bc5 ("erofs-utils: Provide identical functionality without libuuid")
Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
---
configure.ac | 1 +
lib/uuid.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 5c2737c8..2d42b1f2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -266,6 +266,7 @@ AC_CHECK_FUNCS(m4_flatten([
backtrace
copy_file_range
fallocate
+ getrandom
getrlimit
gettimeofday
lgetxattr
diff --git a/lib/uuid.c b/lib/uuid.c
index 3fb88a3c..1fae857f 100644
--- a/lib/uuid.c
+++ b/lib/uuid.c
@@ -41,9 +41,9 @@ static int s_getrandom(void *out, unsigned size, bool insecure)
ssize_t r;
int err;
-#ifdef HAVE_SYS_RANDOM_H
+#if defined(HAVE_SYS_RANDOM_H) && defined(HAVE_GETRANDOM)
r = getrandom(out, size, flags);
-#elif defined(__NR_getrandom)
+#elif defined(__linux__) && defined(__NR_getrandom)
r = (ssize_t)syscall(__NR_getrandom, out, size, flags);
#else
r = -1;
--
2.43.5
More information about the Linux-erofs
mailing list