函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\lockdep.c Create Date:2022-07-27 10:49:53
Last Modify:2020-03-17 14:16:01 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Is this the address of a static object:

函数原型:static int static_obj(const void *obj)

返回类型:int

参数:

类型参数名称
const void *obj
738  unsigned long start = (unsigned long) & Usage guidelines:* _text, _data: architecture specific, don't use them in arch-independent code* [_stext, _etext]: contains .text.* sections, may also contain .rodata.** and/or .init.* sections* [_sdata, _edata]: contains , end = (unsigned long) & _end, addr = obj
742  如果Check if an address is part of freed initmem则返回:0
748  如果addr大于等于startaddr小于end则返回:1
751  如果arch_is_kernel_data(addr)则返回:1
757  如果is_kernel_percpu_address(addr)则返回:1
763  返回:is_module_address(addr)或is_module_percpu_address(addr)
调用者
名称描述
assign_lock_keyStatic locks do not have their class-keys yet - for them the key is* the lock object itself. If the lock is in the per cpu area, the* canonical address of the lock (per cpu offset removed) is used.
lockdep_register_keyRegister a dynamically allocated key.
is_dynamic_keyCheck whether a key has been registered as a dynamic key.
register_lock_classRegister a lock's class in the hash-table, if the class is not present* yet. Otherwise we look it up. We cache the result in the lock object* itself, so actual lookup of the hash should be once per lock object.
lockdep_init_mapInitialize a lock instance's lock-class mapping info:
lockdep_unregister_keyUnregister a dynamically allocated key.