symbol ¤
Classes:
Functions:
-
migratetype_names– -
try_usymbol– -
nzones– -
nmtypes– -
node_data_pointer– -
get_one_node_data– -
npcplist–returns NR_PCP_LISTS (https://elixir.bootlin.com/linux/v6.13/source/include/linux/mmzone.h#L671)
-
kversion_cint– -
recover_page_typeinfo– -
load_common_structs_on_load_linux– -
kernel_symbol_func–Marks a kernel symbol lookup function.
Attributes:
-
POSSIBLE_ZONE_NAMES– -
COMMON_TYPES– -
P–
POSSIBLE_ZONE_NAMES module-attribute ¤
COMMON_TYPES module-attribute ¤
COMMON_TYPES = '\n#include <stdint.h>\n#include <stddef.h>\n#include <linux/version.h>\ntypedef unsigned char u8;\ntypedef char s8;\ntypedef unsigned short u16;\ntypedef unsigned int u32;\ntypedef long long s64;\ntypedef unsigned long u64;\n#define bool int\n#if UINTPTR_MAX == 0xffffffff\n typedef int16_t arch_word_t;\n#else\n typedef int32_t arch_word_t;\n#endif\ntypedef struct {\n unsigned int val;\n} kuid_t;\ntypedef struct {\n unsigned int val;\n} kgid_t;\ntypedef int pid_t;\ntypedef struct {\n int counter;\n} atomic_t;\ntypedef struct refcount_struct {\n\tatomic_t refs;\n} refcount_t;\n\nstruct list_head {\n struct list_head *next, *prev;\n};\nstruct hlist_node {\n\tstruct hlist_node *next, **pprev;\n};\nstruct kmem_cache;\nenum pageflags {\n\tPG_locked,\t\t/* Page is locked. Don\'t touch. */\n\tPG_writeback,\t\t/* Page is under writeback */\n\tPG_referenced,\n\tPG_uptodate,\n\tPG_dirty,\n\tPG_lru,\n\tPG_head,\t\t/* Must be in bit 6 */\n\tPG_waiters,\t\t/* Page has waiters, check its waitqueue. Must be bit #7 and in the same byte as "PG_locked" */\n\tPG_active,\n\tPG_workingset,\n\tPG_owner_priv_1,\t/* Owner use. If pagecache, fs may use */\n\tPG_owner_2,\t\t/* Owner use. If pagecache, fs may use */\n\tPG_arch_1,\n\tPG_reserved,\n\tPG_private,\t\t/* If pagecache, has fs-private data */\n\tPG_private_2,\t\t/* If pagecache, has fs aux data */\n\tPG_reclaim,\t\t/* To be reclaimed asap */\n\tPG_swapbacked,\t\t/* Page is backed by RAM/swap */\n\tPG_unevictable,\t\t/* Page is "unevictable" */\n\tPG_dropbehind,\t\t/* drop pages on IO completion */\n};\n#define POINTER_SIZE (sizeof(void *))\n'
NeedLookup ¤
ArchSymbols ¤
Methods:
-
disass– -
regex– -
node_data– -
slab_caches– -
per_cpu_offset– -
modules– -
db_list– -
map_idr– -
prog_idr– -
current_task–
Attributes:
x86_64Symbols ¤
Bases: ArchSymbols
Methods:
-
qword_op_reg_memoff– -
dword_op_memoff_reg– -
qword_mov_reg_const– -
dword_mov_reg_const– -
qword_mov_reg_ripoff– -
disass– -
regex– -
node_data– -
slab_caches– -
per_cpu_offset– -
modules– -
db_list– -
map_idr– -
prog_idr– -
current_task–
Attributes:
Aarch64Symbols ¤
Bases: ArchSymbols
Methods:
-
qword_adrp_add_const– -
current_task– -
disass– -
regex– -
node_data– -
slab_caches– -
per_cpu_offset– -
modules– -
db_list– -
map_idr– -
prog_idr–
Attributes:
npcplist ¤
returns NR_PCP_LISTS (https://elixir.bootlin.com/linux/v6.13/source/include/linux/mmzone.h#L671)
kernel_symbol_func ¤
kernel_symbol_func(
prefer_symbol: bool = True, symbol_name: str | None = None
) -> Callable[
[Callable[P, int | type[NeedLookup] | None]], Callable[P, int | None]
]
Marks a kernel symbol lookup function. This decorator should be used exclusively for ArchSymbols (and its subclasses).
Parameters:
-
prefer_symbol(bool, default:True) –if true, this decorator will try to resolve the actual symbol address with lookup_symbol first.
-
symbol_name(str | None, default:None) –the actual name of the symbol, if different from the function name.
The return value of the wrapped function will be returnedif the value is of type int | None. If NeedLookup is returned, further lookup is needed.
Returns:
-
Callable[[Callable[P, int | type[NeedLookup] | None]], Callable[P, int | None]]–The address of the symbol if the symbol was resolved, else None is returned.