Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\lockdep.c Create Date:2022-07-28 09:49:33
Last Modify:2020-03-17 14:16:01 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Is this the address of a static object:

Proto:static int static_obj(const void *obj)

Type:int

Parameter:

TypeParameterName
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  If Check if an address is part of freed initmem Then Return 0
748  If addr >= start && addr < end Then Return 1
751  If arch_is_kernel_data(addr) Then Return 1
757  If is_kernel_percpu_address(addr) Then Return 1
763  Return is_module_address(addr) || is_module_percpu_address(addr)
Caller
NameDescribe
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.