crash.types.page module

class crash.types.page.Page(obj: gdb.Value, pfn: int)[source]

Bases: object

BITS_PER_LONG = -1
NODES_WIDTH = -1
PAGE_SHIFT = 12
PAGE_SIZE = 4096
PG_lru = -1
PG_slab = -1
PG_tail = -1
SECTIONS_PER_ROOT = -1
SECTION_SIZE_BITS = -1
ZONES_WIDTH = -1
compound_head() → crash.types.page.Page[source]
compound_head_name = None
directmap_base = 18446612132314218496
classmethod from_obj(page: gdb.Value) → crash.types.page.Page[source]
classmethod from_page_addr(addr: int) → crash.types.page.Page[source]
get_nid() → int[source]
get_slab_cache() → gdb.Value[source]
get_slab_page() → gdb.Value[source]
get_zid() → int[source]
is_anon() → bool[source]
is_lru() → bool[source]
is_slab() → bool[source]
is_tail() → bool[source]
pageflags = {}
classmethod pfn_to_page(pfn: int) → gdb.Value[source]
classmethod setup_directmap_base(symbol: gdb.Symbol) → None[source]
classmethod setup_mem_section(gdbtype: gdb.Type) → None[source]
classmethod setup_nodes_width(symbol: Union[gdb.Symbol, gdb.MinSymbol]) → None[source]

Detect NODES_WITH from the in-kernel config table

Parameters:symbol – The kernel_config_data symbol or minimal symbol. It is not used directly. It is used to determine whether the config data should be available.
classmethod setup_page_type(gdbtype: gdb.Type) → None[source]
setup_page_type_done = False
classmethod setup_pageflags(gdbtype: gdb.Type) → None[source]
setup_pageflags_done = False
classmethod setup_pageflags_finish() → None[source]
setup_pageflags_finish_done = False
classmethod setup_vmemmap_base(symbol: gdb.Symbol) → None[source]
classmethod setup_zone_type(gdbtype: gdb.Type) → None[source]
slab_cache_name = None
slab_page_name = None
sparsemem = False
vmemmap_base = 18446719884453740544
crash.types.page.for_each_page() → Iterable[gdb.Value][source]
crash.types.page.page_from_addr(addr: int) → crash.types.page.Page[source]
crash.types.page.page_from_gdb_obj(gdb_obj: gdb.Value) → crash.types.page.Page[source]
crash.types.page.pfn_to_page(pfn: int) → crash.types.page.Page[source]