#[repr(C)]pub struct blaze_normalizer_opts {
pub type_size: usize,
pub use_procmap_query: bool,
pub cache_vmas: bool,
pub build_ids: bool,
pub cache_build_ids: bool,
pub reserved: [u8; 20],
}Expand description
Options for configuring blaze_normalizer objects.
Fields§
§type_size: usizeThe size of this object’s type.
Make sure to initialize it to sizeof(<type>). This member is used to
ensure compatibility in the presence of member additions.
use_procmap_query: boolWhether or not to use the PROCMAP_QUERY ioctl instead of
parsing /proc/<pid>/maps for getting available VMA ranges.
Refer to
blaze_supports_procmap_query
as a way to check whether your system supports this
functionality.
§Notes
Support for this ioctl is only present in very recent kernels (likely: 6.11+). See https://lwn.net/Articles/979931/ for details.
Furthermore, the ioctl will also be used for retrieving build IDs (if enabled). Build ID reading logic in the kernel is known to be incomplete, with a fix slated to be included only with 6.12.
cache_vmas: boolWhether or not to cache /proc/<pid>/maps contents.
Setting this flag to true is not generally recommended, because it
could result in addresses corresponding to mappings added after caching
may not be normalized successfully, as there is no reasonable way of
detecting staleness.
build_ids: boolWhether to read and report build IDs as part of the normalization process.
Note that build ID read failures will be swallowed without failing the normalization operation.
cache_build_ids: boolWhether or not to cache build IDs. This flag only has an effect if build ID reading is enabled in the first place.
reserved: [u8; 20]Unused member available for future expansion. Must be initialized to zero.