@@ -210,63 +210,63 @@ Or using the function:
210210
211211 The following "string" options are available:
212212
213- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
214- | Option | 64-bit default | 32-bit default | Description |
215- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
216- | quarantine_size_kb | 0 | 0 | The size (in Kb) of quarantine used to delay |
217- | | | | the actual deallocation of chunks. Lower value |
218- | | | | may reduce memory usage but decrease the |
219- | | | | effectiveness of the mitigation; a negative |
220- | | | | value will fallback to the defaults. Setting |
221- | | | | *both * this and thread_local_quarantine_size_kb |
222- | | | | to zero will disable the quarantine entirely. |
223- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
224- | quarantine_max_chunk_size | 0 | 0 | Size (in bytes) up to which chunks can be |
225- | | | | quarantined. |
226- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
227- | thread_local_quarantine_size_kb | 0 | 0 | The size (in Kb) of per-thread cache use to |
228- | | | | offload the global quarantine. Lower value may |
229- | | | | reduce memory usage but might increase |
230- | | | | contention on the global quarantine. Setting |
231- | | | | *both * this and quarantine_size_kb to zero will |
232- | | | | disable the quarantine entirely. |
233- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
234- | dealloc_type_mismatch | false | false | Whether or not we report errors on |
235- | | | | malloc/delete, new/free, new/delete[], etc. |
236- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
237- | delete_size_mismatch | true | true | Whether or not we report errors on mismatch |
238- | | | | between sizes of new and delete. |
239- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
240- | zero_contents | false | false | Whether or not we zero chunk contents on |
241- | | | | allocation. |
242- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
243- | pattern_fill_contents | false | false | Whether or not we fill chunk contents with a |
244- | | | | byte pattern on allocation. |
245- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
246- | may_return_null | true | true | Whether or not a non-fatal failure can return a |
247- | | | | NULL pointer (as opposed to terminating). |
248- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
249- | release_to_os_interval_ms | 5000 | 5000 | The minimum interval (in ms) at which a release |
250- | | | | can be attempted (a negative value disables |
251- | | | | reclaiming). |
252- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
253- | allocation_ring_buffer_size | 32768 | n/a | If stack trace collection is requested, how |
254- | | | | many previous allocations to keep in the |
255- | | | | allocation ring buffer. |
256- | | | | |
257- | | | | This buffer is used to provide allocation and |
258- | | | | deallocation stack traces for MTE fault |
259- | | | | reports. The larger the buffer, the more |
260- | | | | unrelated allocations can happen between |
261- | | | | (de)allocation and the fault. |
262- | | | | If your sync-mode MTE faults do not have |
263- | | | | (de)allocation stack traces, try increasing the |
264- | | | | buffer size. |
265- | | | | |
266- | | | | Stack trace collection can be requested using |
267- | | | | the scudo_malloc_set_track_allocation_stacks |
268- | | | | function. |
269- +---------------------------------+----------------+----------------+---------------- ---------------------------------+
213+ +---------------------------------+----------------+-------------------------------------------------+
214+ | Option | Default | Description |
215+ +---------------------------------+----------------+-------------------------------------------------+
216+ | quarantine_size_kb | 0 | The size (in Kb) of quarantine used to delay |
217+ | | | the actual deallocation of chunks. Lower value |
218+ | | | may reduce memory usage but decrease the |
219+ | | | effectiveness of the mitigation; a negative |
220+ | | | value will fallback to the defaults. Setting |
221+ | | | *both * this and thread_local_quarantine_size_kb |
222+ | | | to zero will disable the quarantine entirely. |
223+ +---------------------------------+----------------+-------------------------------------------------+
224+ | quarantine_max_chunk_size | 0 | Size (in bytes) up to which chunks can be |
225+ | | | quarantined. |
226+ +---------------------------------+----------------+-------------------------------------------------+
227+ | thread_local_quarantine_size_kb | 0 | The size (in Kb) of per-thread cache use to |
228+ | | | offload the global quarantine. Lower value may |
229+ | | | reduce memory usage but might increase |
230+ | | | contention on the global quarantine. Setting |
231+ | | | *both * this and quarantine_size_kb to zero will |
232+ | | | disable the quarantine entirely. |
233+ +---------------------------------+----------------+-------------------------------------------------+
234+ | dealloc_type_mismatch | false | Whether or not we report errors on |
235+ | | | malloc/delete, new/free, new/delete[], etc. |
236+ +---------------------------------+----------------+-------------------------------------------------+
237+ | delete_size_mismatch | true | Whether or not we report errors on mismatch |
238+ | | | between sizes of new and delete. |
239+ +---------------------------------+----------------+-------------------------------------------------+
240+ | zero_contents | false | Whether or not we zero chunk contents on |
241+ | | | allocation. |
242+ +---------------------------------+----------------+-------------------------------------------------+
243+ | pattern_fill_contents | false | Whether or not we fill chunk contents with a |
244+ | | | byte pattern on allocation. |
245+ +---------------------------------+----------------+-------------------------------------------------+
246+ | may_return_null | true | Whether or not a non-fatal failure can return a |
247+ | | | NULL pointer (as opposed to terminating). |
248+ +---------------------------------+----------------+-------------------------------------------------+
249+ | release_to_os_interval_ms | 5000 | The minimum interval (in ms) at which a release |
250+ | | | can be attempted (a negative value disables |
251+ | | | reclaiming). |
252+ +---------------------------------+----------------+-------------------------------------------------+
253+ | allocation_ring_buffer_size | 32768 | If stack trace collection is requested, how |
254+ | | | many previous allocations to keep in the |
255+ | | | allocation ring buffer. |
256+ | | | |
257+ | | | This buffer is used to provide allocation and |
258+ | | | deallocation stack traces for MTE fault |
259+ | | | reports. The larger the buffer, the more |
260+ | | | unrelated allocations can happen between |
261+ | | | (de)allocation and the fault. |
262+ | | | If your sync-mode MTE faults do not have |
263+ | | | (de)allocation stack traces, try increasing the |
264+ | | | buffer size. |
265+ | | | |
266+ | | | Stack trace collection can be requested using |
267+ | | | the scudo_malloc_set_track_allocation_stacks |
268+ | | | function. |
269+ +---------------------------------+----------------+-------------------------------------------------+
270270
271271Additional flags can be specified, for example if Scudo if compiled with
272272`GWP-ASan <https://llvm.org/docs/GwpAsan.html >`_ support.
0 commit comments