@@ -210,63 +210,63 @@ Or using the function:
210
210
211
211
The following "string" options are available:
212
212
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
+ +---------------------------------+----------------+-------------------------------------------------+
270
270
271
271
Additional flags can be specified, for example if Scudo if compiled with
272
272
`GWP-ASan <https://llvm.org/docs/GwpAsan.html >`_ support.
0 commit comments