summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2020-12-08 17:43:10 +0000
committerBenjamin Kaduk <kaduk@mit.edu>2020-12-30 15:26:18 -0800
commit9be10637502bf32189055dff8d3442e140e845c5 (patch)
tree1e721b3f5fee98e51edf1c1624ad985c9ae353b4
parent64a1b940d2b640e5edf0feae90e81bbb6b4941e7 (diff)
downloadopenssl-new-9be10637502bf32189055dff8d3442e140e845c5.tar.gz
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)
-rw-r--r--crypto/mem_sec.c8
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;