Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\events\core.c Create Date:2022-07-28 13:39:21
Last Modify:2022-05-20 07:50:19 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Update event's address range filters based on the* task's existing mappings, if any.

Proto:static void perf_event_addr_filters_apply(struct perf_event *event)

Type:void

Parameter:

TypeParameterName
struct perf_event *event
9460  ifh = perf_event_addr_filters(event)
9461  task = READ_ONCE(task)
9463  struct mm_struct * mm = NULL
9464  count = 0
9471  If task == TASK_TOMBSTONE Then Return
9474  If nr_file_filters Then
9475  mm = get_task_mm - acquire a reference to the task's mm* Returns %NULL if the task has no mm. Checks PF_KTHREAD (meaning* this kernel workthread has transiently adopted a user mm with use_mm,* to do its AIO) is not set and if so returns a reference to it, after
9476  If Not mm Then Go to restart
9479  lock for reading
9482  raw_spin_lock_irqsave( & lock, flags)
9484  If dentry Then
9489  start = 0
9490  size = 0
9492  Scan through mm's vmas and see if one of them matches the*@filter; if so, adjust filter's address range.* Called with mm::mmap_sem down for reading.
9493  Else
9494  start = offset
9495  size = size
9498  count++
9501  addr_filters_gen++
9502  raw_spin_unlock_irqrestore( & lock, flags)
9504  If nr_file_filters Then
9505  lease a read lock
9507  Decrement the use count and release all resources for an mm.
9510  restart :
9511  perf_event_stop(event, 1)