Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Remove all references to a lock class. The caller must hold the graph lock.

Proto:static void zap_class(struct pending_free *pf, struct lock_class *class)

Type:void

Parameter:

TypeParameterName
struct pending_free *pf
struct lock_class *class
4849  WARN_ON_ONCE(!key)
4856  entry = list_entries + i
4857  If class != class && links_to != class Then Continue
4859  __clear_bit - Clears a bit in memory*@nr: the bit to clear*@addr: the address to start counting from* Unlike clear_bit(), this function is non-atomic. If it is called on the same* region of memory concurrently, the effect may be that only one operation
4860  nr_list_entries--
4861  list_del_rcu - deletes entry from list without re-initialization*@entry: the element to delete from the list
4863  If list_empty - tests whether a list is empty*@head: the list to test. && list_empty - tests whether a list is empty*@head: the list to test. Then
4865  list_move_tail - delete from one list and add as another's tail*@list: the entry to move*@head: the head that will follow our entry
4866  hlist_del_rcu - deletes entry from hash list without re-initialization*@n: the element to delete from the hash list.* Note: list_unhashed() on entry does not return true after this,* the entry is in an undefined state. It is useful for RCU based
4867  WRITE_ONCE(key, NULL)
4868  WRITE_ONCE(name, NULL)
4869  nr_lock_classes--
4870  __clear_bit - Clears a bit in memory*@nr: the bit to clear*@addr: the address to start counting from* Unlike clear_bit(), this function is non-atomic. If it is called on the same* region of memory concurrently, the effect may be that only one operation
4871  Else
4872  WARN_ONCE(true, "%s() failed for class %s\n", __func__, name)
4876  Must be called with the graph lock held.
Caller
NameDescribe
__lockdep_free_key_rangeRemove all lock classes from the class hash table and from the* all_lock_classes list whose key or name is in the address range [start,* start + size). Move these lock classes to the zapped_classes list. Must* be called with the graph lock held.
__lockdep_reset_lockThe caller must hold the graph lock. Does not sleep.