diff options
author | Monty <monty@mariadb.org> | 2021-06-18 18:40:05 +0300 |
---|---|---|
committer | Vicențiu Ciorbaru <cvicentiu@gmail.com> | 2021-07-18 19:59:35 +0300 |
commit | b1d81974b21ad99f1b6d26d744e36a12ee4026a7 (patch) | |
tree | bf165cee42987de9f3c78bea880eb0923c6af34d /config.h.cmake | |
parent | d378a466a5f9b655a73f4eb86c3eea1042b36cd7 (diff) | |
download | mariadb-git-b1d81974b21ad99f1b6d26d744e36a12ee4026a7.tar.gz |
Added support to MEM_ROOT for write protected memory
This is useful for thing like Item_true and Item_false that we
allocated and initalize once and want to ensure that nothing can
change them
Main changes:
- Memory protection is achived by allocating memory with mmap() and
protect it from write with mprotect()
- init_alloc_root(...,MY_ROOT_USE_MPROTECT) will create a
memroot that one can later use with protect_root() to turn it
read only or turn it back to read-write. All allocations to this
memroot is done with mmap() to ensure page alligned allocations.
- alloc_root() code was rearranged to combine normal and valgrind code.
- init_alloc_root() now changes block size to be power of 2's, to get less
memory fragmentation.
- Changed MEM_ROOT structure to make it smaller. Also renamed
MEM_ROOT m_psi_key to psi_key.
- Moved MY_THREAD_SPECIFIC marker in MEM_ROOT from block size (old hack)
to flags.
- Added global variable my_system_page_size. This is initialized at
startup.
Diffstat (limited to 'config.h.cmake')
-rw-r--r-- | config.h.cmake | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/config.h.cmake b/config.h.cmake index 80721592ab0..44ae067daad 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -179,6 +179,7 @@ #cmakedefine HAVE_MLOCKALL 1 #cmakedefine HAVE_MMAP 1 #cmakedefine HAVE_MMAP64 1 +#cmakedefine HAVE_MPROTECT 1 #cmakedefine HAVE_PERROR 1 #cmakedefine HAVE_POLL 1 #cmakedefine HAVE_POSIX_FALLOCATE 1 |