summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorBernd Edlinger <bernd.edlinger@hotmail.de>2019-08-17 13:22:07 +0200
committerBernd Edlinger <bernd.edlinger@hotmail.de>2019-08-19 07:03:05 +0200
commit24d932ec842bc5fdbd5e9b519cecf15a56bc74e6 (patch)
tree77890db4ed4e4650a03f5faa0d026d05b9374932 /crypto
parent784883fc2c8af035401f2a1e02a79aef41a2a7fb (diff)
Add a fallback definition for __NR_getrandom for ARM linux
Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9619)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/rand/rand_unix.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c
index e45e018e4a..de86e48f3a 100644
--- a/crypto/rand/rand_unix.c
+++ b/crypto/rand/rand_unix.c
@@ -254,6 +254,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.