mirror of
https://github.com/GrapheneOS/hardened_malloc.git
synced 2024-12-19 21:04:33 -05:00
add initial documentation for integer options
This commit is contained in:
parent
f3623e1f2b
commit
8a38c4fb2a
36
README.md
36
README.md
@ -59,8 +59,9 @@ make command as follows:
|
|||||||
make CONFIG_EXAMPLE=false
|
make CONFIG_EXAMPLE=false
|
||||||
|
|
||||||
Configuration options are provided when there are significant compromises
|
Configuration options are provided when there are significant compromises
|
||||||
between portability, performance, memory usage or security. The following
|
between portability, performance, memory usage or security.
|
||||||
options are available:
|
|
||||||
|
The following boolean configuration options are available:
|
||||||
|
|
||||||
* `CONFIG_NATIVE`: `true` (default) or `false` to control whether the code is
|
* `CONFIG_NATIVE`: `true` (default) or `false` to control whether the code is
|
||||||
optimized for the detected CPU on the host. If this is disabled, setting up a
|
optimized for the detected CPU on the host. If this is disabled, setting up a
|
||||||
@ -102,17 +103,28 @@ options are available:
|
|||||||
contained within an isolated memory region with high entropy random guard
|
contained within an isolated memory region with high entropy random guard
|
||||||
regions around it.
|
regions around it.
|
||||||
|
|
||||||
The following are more advanced configuration options without proper sanity
|
The following integer configuration options are available. Proper sanity checks
|
||||||
checks and documentation written yet, so use them at your own peril:
|
for the chosen values are not written yet, so use them at your own peril:
|
||||||
|
|
||||||
* `CONFIG_SLAB_QUARANTINE_RANDOM_SIZE`: `0` (default)
|
* `CONFIG_SLAB_QUARANTINE_RANDOM_SIZE`: `0` (default) to control the number of
|
||||||
* `CONFIG_SLAB_QUARANTINE_QUEUE_SIZE`: `0` (default)
|
slots in the random array used to randomize reuse for small memory
|
||||||
* `CONFIG_GUARD_SLABS_INTERVAL`: `1` (default)
|
allocations
|
||||||
* `CONFIG_GUARD_SIZE_DIVISOR`: `2` (default)
|
* `CONFIG_SLAB_QUARANTINE_QUEUE_SIZE`: `0` (default) to control the number of
|
||||||
* `CONFIG_REGION_QUARANTINE_RANDOM_SIZE`: `128` (default)
|
slots in the queue used to delay reuse for small memory allocations
|
||||||
* `CONFIG_REGION_QUARANTINE_QUEUE_SIZE`: `1024` (default)
|
* `CONFIG_GUARD_SLABS_INTERVAL`: `1` (default) to control the number of slabs
|
||||||
* `CONFIG_REGION_QUARANTINE_SKIP_THRESHOLD`: `33554432` (default)
|
before a slab is skipped and left as an unused memory protected guard slab
|
||||||
* `CONFIG_FREE_SLABS_QUARANTINE_RANDOM_SIZE`: `32` (default)
|
* `CONFIG_GUARD_SIZE_DIVISOR`: `2` (default) to control the maximum size of the
|
||||||
|
guard regions placed on both sides of large memory allocations, relative to
|
||||||
|
the usable size of the memory allocation
|
||||||
|
* `CONFIG_REGION_QUARANTINE_RANDOM_SIZE`: `128` (default) to control the number
|
||||||
|
of slots in the random array used to randomize region reuse for large memory
|
||||||
|
allocations
|
||||||
|
* `CONFIG_REGION_QUARANTINE_QUEUE_SIZE`: `1024` (default) to control the number
|
||||||
|
of slots in the queue used to delay region reuse for large memory allocations
|
||||||
|
* `CONFIG_REGION_QUARANTINE_SKIP_THRESHOLD`: `33554432` (default) to control
|
||||||
|
the size threshold where large allocations will not be quarantined
|
||||||
|
* `CONFIG_FREE_SLABS_QUARANTINE_RANDOM_SIZE`: `32` (default) to control the
|
||||||
|
number of slots in the random array used to randomize free slab reuse
|
||||||
|
|
||||||
There will be more control over enabled features in the future along with
|
There will be more control over enabled features in the future along with
|
||||||
control over fairly arbitrarily chosen values like the size of empty slab
|
control over fairly arbitrarily chosen values like the size of empty slab
|
||||||
|
Loading…
Reference in New Issue
Block a user