Add a fallback definition for __NR_getrandom for ARM linux
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Sat, 17 Aug 2019 11:22:07 +0000 (13:22 +0200)
committerBernd Edlinger <bernd.edlinger@hotmail.de>
Mon, 19 Aug 2019 05:06:56 +0000 (07:06 +0200)
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/9619)

(cherry picked from commit 24d932ec842bc5fdbd5e9b519cecf15a56bc74e6)

crypto/rand/rand_unix.c

index 114c40b1841f95c6a46b69897c237c53259d5c25..5a4d28166deece59e5f77f0ff676124b8ab3aa60 100644 (file)
@@ -275,6 +275,13 @@ static ssize_t sysctl_random(char *buf, size_t buflen)
 #  endif
 
 #  if defined(OPENSSL_RAND_SEED_GETRANDOM)
+
+#   if defined(__linux) && !defined(__NR_getrandom)
+#    if defined(__arm__) && defined(__NR_SYSCALL_BASE)
+#     define __NR_getrandom    (__NR_SYSCALL_BASE+384)
+#    endif
+#   endif
+
 /*
  * syscall_random(): Try to get random data using a system call
  * returns the number of bytes returned in buf, or < 0 on error.