diff options
author | David Carlier <devnexen@gmail.com> | 2020-12-08 17:43:10 +0000 |
---|---|---|
committer | Benjamin Kaduk <kaduk@mit.edu> | 2020-12-30 15:26:18 -0800 |
commit | 9be10637502bf32189055dff8d3442e140e845c5 (patch) | |
tree | 1e721b3f5fee98e51edf1c1624ad985c9ae353b4 /crypto/mem_sec.c | |
parent | 64a1b940d2b640e5edf0feae90e81bbb6b4941e7 (diff) |
CRYPTO_secure_malloc_init: BSD support improvements.
Backport of #13394
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/13637)
Diffstat (limited to 'crypto/mem_sec.c')
-rw-r--r-- | crypto/mem_sec.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/crypto/mem_sec.c b/crypto/mem_sec.c index b5f959ba15..222c786cba 100644 --- a/crypto/mem_sec.c +++ b/crypto/mem_sec.c @@ -34,6 +34,12 @@ # include <errno.h> # endif # endif +# if defined(__FreeBSD__) +# define MADV_DONTDUMP MADV_NOCORE +# endif +# if !defined(MAP_CONCEAL) +# define MAP_CONCEAL 0 +# endif # include <sys/param.h> # include <sys/stat.h> # include <fcntl.h> @@ -442,7 +448,7 @@ static int sh_init(size_t size, int minsize) if (1) { #ifdef MAP_ANON sh.map_result = mmap(NULL, sh.map_size, - PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, 0); + PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE|MAP_CONCEAL, -1, 0); } else { #endif int fd; |