@@ -20,7 +20,9 @@ Major new features:
Deprecated and removed features, and other changes affecting compatibility:
- [Add deprecations, removals and changes affecting compatibility here]
+* The getentropy function now follows POSIX 2024, which means that
+ unsupportd large buffer will return EINVAL and the function will
+ abort the process if there is no entropy available in the system.
Changes to build and runtime requirements:
@@ -73,7 +73,7 @@ used by this function was added to the Linux kernel in version 3.17.)
The combination of @var{buffer} and @var{length} arguments specifies
an invalid memory range.
-@item EIO
+@item EINVAL
@var{length} is larger than 256, or the kernel entropy pool has
suffered a catastrophic failure.
@end table
@@ -281,6 +281,7 @@ tests := \
tst-environ-change-2 \
tst-environ-change-3 \
tst-environ-change-4 \
+ tst-getentropy \
tst-getenv-signal \
tst-getenv-static \
tst-getenv-thread \
@@ -392,6 +393,13 @@ tests += \
# tests
endif
+# Test for the getentropy symbol versions required for POSIX 2024
+ifeq ($(have-GLIBC_2.42)$(build-shared),yesyes)
+tests += \
+ tst-getentropy-compat \
+ # tests
+endif
+
LDLIBS-test-atexit-race = $(shared-thread-library)
LDLIBS-test-at_quick_exit-race = $(shared-thread-library)
LDLIBS-test-cxa_atexit-race = $(shared-thread-library)
@@ -223,6 +223,9 @@ libc {
stdc_bit_ceil_ul;
stdc_bit_ceil_ull;
}
+ GLIBC_2.42 {
+ getentropy;
+ }
GLIBC_PRIVATE {
# functions which have an additional interface since they are
# are cancelable.
@@ -16,16 +16,72 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <sys/random.h>
+#include <stdio.h>
#include <errno.h>
+#include <not-cancel.h>
+#include <sys/random.h>
+#include <shlib-compat.h>
+
+static void
+getentropy_fatal (void)
+{
+ __libc_fatal ("Fatal glibc error: cannot get entropy for getentropy\n");
+}
/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on
success and -1 on failure. */
-int
-getentropy (void *buffer, size_t length)
+static int
+getentropy_base (void *buffer, size_t length, int err)
{
- __set_errno (ENOSYS);
- return -1;
+ if (length > 256)
+ {
+ __set_errno (err);
+ return -1;
+ }
+
+ /* Try to fill the buffer completely. Even with the 256 byte limit
+ above, we might still receive an EINTR error (when blocking
+ during boot). */
+ void *end = buffer + length;
+ while (buffer < end)
+ {
+ /* NB: No cancellation point. */
+ ssize_t bytes = __getrandom_nocancel (buffer, end - buffer, 0);
+ if (bytes < 0)
+ {
+ switch (errno)
+ {
+ case EINTR:
+ continue;
+ case ENOSYS:
+ return -1;
+ default:
+ getentropy_fatal ();
+ }
+ }
+ else if (bytes == 0)
+ /* No more bytes available. This should not happen under normal
+ circumstances. */
+ getentropy_fatal ();
+
+ /* Try again in case of a short read. */
+ buffer += bytes;
+ }
+ return 0;
}
-stub_warning (getentropy)
+int
+__new_getentropy (void *buffer, size_t length)
+{
+ return getentropy_base (buffer, length, EINVAL);
+}
+versioned_symbol (libc, __new_getentropy, getentropy, GLIBC_2_42);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_25, GLIBC_2_42)
+int
+__old_getentropy (void *buffer, size_t length)
+{
+ return getentropy_base (buffer, length, EIO);
+}
+compat_symbol (libc, __old_getentropy, getentropy, GLIBC_2_25);
+#endif
new file mode 100644
@@ -0,0 +1,26 @@
+/* Compat tests for the getentropy function.
+ Copyright (C) 2016-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sys/random.h>
+
+#include <shlib-compat.h>
+
+compat_symbol_reference (libc, getentropy, getentropy, GLIBC_2_25);
+
+#define ERRNO_BUFFER_TO_LARGE EIO
+#include "tst-getentropy.c"
new file mode 100644
@@ -0,0 +1,108 @@
+/* Tests for the getentropy function.
+ Copyright (C) 2016-2025 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/random.h>
+
+#ifndef ERRNO_BUFFER_TO_LARGE
+# define ERRNO_BUFFER_TO_LARGE EINVAL
+#endif
+
+/* Set to true if any errors are encountered. */
+static bool errors;
+
+static void
+test_getentropy (void)
+{
+ char buf[16];
+ memset (buf, '@', sizeof (buf));
+ if (getentropy (buf, 0) != 0)
+ {
+ printf ("error: getentropy zero length: %m\n");
+ errors = true;
+ return;
+ }
+ for (size_t i = 0; i < sizeof (buf); ++i)
+ if (buf[i] != '@')
+ {
+ printf ("error: getentropy modified zero-length buffer\n");
+ errors = true;
+ return;
+ }
+
+ if (getentropy (buf, sizeof (buf)) != 0)
+ {
+ printf ("error: getentropy buf: %m\n");
+ errors = true;
+ return;
+ }
+
+ char buf2[256];
+ _Static_assert (sizeof (buf) < sizeof (buf2), "buf and buf2 compatible");
+ memset (buf2, '@', sizeof (buf2));
+ if (getentropy (buf2, sizeof (buf)) != 0)
+ {
+ printf ("error: getentropy buf2: %m\n");
+ errors = true;
+ return;
+ }
+
+ /* The probability that these two buffers are equal is very
+ small. */
+ if (memcmp (buf, buf2, sizeof (buf)) == 0)
+ {
+ printf ("error: getentropy appears to return constant bytes\n");
+ errors = true;
+ return;
+ }
+
+ for (size_t i = sizeof (buf); i < sizeof (buf2); ++i)
+ if (buf2[i] != '@')
+ {
+ printf ("error: getentropy wrote beyond the end of the buffer\n");
+ errors = true;
+ return;
+ }
+
+ char buf3[257];
+ if (getentropy (buf3, sizeof (buf3)) == 0)
+ {
+ printf ("error: getentropy successful for 257 byte buffer\n");
+ errors = true;
+ return;
+ }
+ if (errno != ERRNO_BUFFER_TO_LARGE)
+ {
+ printf ("error: getentropy wrong error for 257 byte buffer: %m\n");
+ errors = true;
+ return;
+ }
+}
+
+static int
+do_test (void)
+{
+ test_getentropy ();
+
+ return errors;
+}
+
+#include <support/test-driver.c>
@@ -1,4 +1,4 @@
-/* Tests for the getentropy, getrandom functions.
+/* Tests for the getrandom functions.
Copyright (C) 2016-2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -151,73 +151,6 @@ test_flags (unsigned int flags)
}
}
-static void
-test_getentropy (void)
-{
- char buf[16];
- memset (buf, '@', sizeof (buf));
- if (getentropy (buf, 0) != 0)
- {
- printf ("error: getentropy zero length: %m\n");
- errors = true;
- return;
- }
- for (size_t i = 0; i < sizeof (buf); ++i)
- if (buf[i] != '@')
- {
- printf ("error: getentropy modified zero-length buffer\n");
- errors = true;
- return;
- }
-
- if (getentropy (buf, sizeof (buf)) != 0)
- {
- printf ("error: getentropy buf: %m\n");
- errors = true;
- return;
- }
-
- char buf2[256];
- _Static_assert (sizeof (buf) < sizeof (buf2), "buf and buf2 compatible");
- memset (buf2, '@', sizeof (buf2));
- if (getentropy (buf2, sizeof (buf)) != 0)
- {
- printf ("error: getentropy buf2: %m\n");
- errors = true;
- return;
- }
-
- /* The probability that these two buffers are equal is very
- small. */
- if (memcmp (buf, buf2, sizeof (buf)) == 0)
- {
- printf ("error: getentropy appears to return constant bytes\n");
- errors = true;
- return;
- }
-
- for (size_t i = sizeof (buf); i < sizeof (buf2); ++i)
- if (buf2[i] != '@')
- {
- printf ("error: getentropy wrote beyond the end of the buffer\n");
- errors = true;
- return;
- }
-
- char buf3[257];
- if (getentropy (buf3, sizeof (buf3)) == 0)
- {
- printf ("error: getentropy successful for 257 byte buffer\n");
- errors = true;
- return;
- }
- if (errno != EIO)
- {
- printf ("error: getentropy wrong error for 257 byte buffer: %m\n");
- errors = true;
- return;
- }
-}
static int
do_test (void)
@@ -237,8 +170,6 @@ do_test (void)
test_flags (flags);
}
- test_getentropy ();
-
return errors;
}
deleted file mode 100644
@@ -1,59 +0,0 @@
-/* Implementation of getentropy based on getrandom.
- Copyright (C) 2016-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#include <sys/random.h>
-#include <assert.h>
-#include <errno.h>
-#include <unistd.h>
-#include <hurd.h>
-
-/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on
- success and -1 on failure. */
-int
-getentropy (void *buffer, size_t length)
-{
- /* The interface is documented to return EIO for buffer lengths
- longer than 256 bytes. */
- if (length > 256)
- return __hurd_fail (EIO);
-
- /* Try to fill the buffer completely. Even with the 256 byte limit
- above, we might still receive an EINTR error (when blocking
- during boot). */
- void *end = buffer + length;
- while (buffer < end)
- {
- /* NB: No cancellation point. */
- ssize_t bytes = __getrandom (buffer, end - buffer, 0);
- if (bytes < 0)
- {
- if (errno == EINTR)
- /* Try again if interrupted by a signal. */
- continue;
- else
- return -1;
- }
- if (bytes == 0)
- /* No more bytes available. This should not happen under
- normal circumstances. */
- return __hurd_fail (EIO);
- /* Try again in case of a short read. */
- buffer += bytes;
- }
- return 0;
-}
@@ -686,7 +686,7 @@ GLIBC_2.2.6 _libc_intl_domainname D 0x5
GLIBC_2.2.6 _longjmp F
GLIBC_2.2.6 _mcleanup F
GLIBC_2.2.6 _mcount F
-GLIBC_2.2.6 _nl_default_dirname D 0xe
+GLIBC_2.2.6 _nl_default_dirname D 0x12
GLIBC_2.2.6 _nl_domain_bindings D 0x4
GLIBC_2.2.6 _nl_msg_cat_cntr D 0x4
GLIBC_2.2.6 _null_auth D 0xc
@@ -2586,6 +2586,7 @@ GLIBC_2.41 pthread_mutexattr_settype F
GLIBC_2.41 pthread_sigmask F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_barrier_destroy F
GLIBC_2.42 pthread_barrier_init F
GLIBC_2.42 pthread_barrier_wait F
@@ -2269,6 +2269,7 @@ GLIBC_2.41 pthread_mutexattr_settype F
GLIBC_2.41 pthread_sigmask F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_barrier_destroy F
GLIBC_2.42 pthread_barrier_init F
GLIBC_2.42 pthread_barrier_wait F
@@ -2752,4 +2752,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -3099,6 +3099,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2513,4 +2513,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -2805,6 +2805,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2802,6 +2802,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2789,4 +2789,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
deleted file mode 100644
@@ -1,65 +0,0 @@
-/* Implementation of getentropy based on the getrandom system call.
- Copyright (C) 2016-2025 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#include <sys/random.h>
-#include <assert.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sysdep.h>
-
-/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on
- success and -1 on failure. */
-int
-getentropy (void *buffer, size_t length)
-{
- /* The interface is documented to return EIO for buffer lengths
- longer than 256 bytes. */
- if (length > 256)
- {
- __set_errno (EIO);
- return -1;
- }
-
- /* Try to fill the buffer completely. Even with the 256 byte limit
- above, we might still receive an EINTR error (when blocking
- during boot). */
- void *end = buffer + length;
- while (buffer < end)
- {
- /* NB: No cancellation point. */
- ssize_t bytes = INLINE_SYSCALL_CALL (getrandom, buffer, end - buffer, 0);
- if (bytes < 0)
- {
- if (errno == EINTR)
- /* Try again if interrupted by a signal. */
- continue;
- else
- return -1;
- }
- if (bytes == 0)
- {
- /* No more bytes available. This should not happen under
- normal circumstances. */
- __set_errno (EIO);
- return -1;
- }
- /* Try again in case of a short read. */
- buffer += bytes;
- }
- return 0;
-}
@@ -2826,6 +2826,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -3009,6 +3009,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2273,4 +2273,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -2785,6 +2785,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2952,6 +2952,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2838,4 +2838,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -2835,4 +2835,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -2913,6 +2913,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2919,6 +2919,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2821,6 +2821,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2263,4 +2263,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -3142,6 +3142,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -3187,6 +3187,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2896,6 +2896,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2972,4 +2972,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -2516,4 +2516,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -2716,4 +2716,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
@@ -3140,6 +3140,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2933,6 +2933,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2832,6 +2832,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2829,6 +2829,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -3161,6 +3161,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2797,6 +2797,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2748,6 +2748,7 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
@@ -2767,4 +2767,5 @@ GLIBC_2.41 sched_getattr F
GLIBC_2.41 sched_setattr F
GLIBC_2.42 __inet_ntop_chk F
GLIBC_2.42 __inet_pton_chk F
+GLIBC_2.42 getentropy F
GLIBC_2.42 pthread_gettid_np F