Add MAP_CONCEAL from OpenBSD which has similar purpose but on mmap
authorDavid Carlier <devnexen@gmail.com>
Fri, 13 Nov 2020 10:16:55 +0000 (10:16 +0000)
committerTomas Mraz <tmraz@fedoraproject.org>
Tue, 8 Dec 2020 17:27:07 +0000 (18:27 +0100)
call level.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13394)

crypto/mem_sec.c

index f27a759f1736372bc1bb14f837c0db915746235b..cc4c4e08f6e25ee59f240496cf4f4e224cc9c0f3 100644 (file)
@@ -35,6 +35,9 @@
 #  if defined(__FreeBSD__)
 #    define MADV_DONTDUMP MADV_NOCORE
 #  endif
+#  if !defined(MAP_CONCEAL)
+#    define MAP_CONCEAL 0
+#  endif
 # endif
 # if defined(OPENSSL_SYS_LINUX)
 #  include <sys/syscall.h>
@@ -471,7 +474,7 @@ static int sh_init(size_t size, size_t minsize)
 #if !defined(_WIN32)
 # 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
     {
         int fd;