函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\trace\trace_events_filter.c Create Date:2022-07-27 13:33:44
Last Modify:2022-05-22 20:19:57 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:process_system_preds

函数原型:static int process_system_preds(struct trace_subsystem_dir *dir, struct trace_array *tr, struct filter_parse_error *pe, char *filter_string)

返回类型:int

参数:

类型参数名称
struct trace_subsystem_dir *dir
struct trace_array *tr
struct filter_parse_error *pe
char *filter_string
1597  struct event_filter * filter = NULL
1599  LIST_HEAD(filter_list)
1600  bool fail = true
1605  如果system不等于dir则继续下一循环
1608  filter等于分配内存并置零
1609  如果非filter则转到:fail_mem
1612  filter_string等于kstrdup(filter_string, GFP_KERNEL)
1613  如果非filter_string则转到:fail_mem
1616  err等于process_preds(event_call, filter_string, filter, pe)
1617  如果err
1618  filter_disable(file)
1619  parse_error(pe, FILT_ERR_BAD_SUBSYS_FILTER, 0)
1620  append_filter_err(tr, pe, filter)
1621  否则event_set_filtered_flag(file)
1625  filter_item等于分配内存并置零
1626  如果非filter_item则转到:fail_mem
1629  添加链表项
1634  filter等于event_filter(file)
1635  event_set_filter(file, filter)
1636  filter = NULL
1638  fail = false
1641  如果fail则转到:fail
1649  tracepoint_synchronize_unregister()
1651  __free_filter(filter)
1652  删除链表项
1653  kfree(filter_item)
1655  返回:0
1656  fail :
1659  删除链表项
1660  kfree(filter_item)
1662  parse_error(pe, FILT_ERR_BAD_SUBSYS_FILTER, 0)
1663  返回:负EINVAL
1664  fail_mem :
1665  __free_filter(filter)
1667  如果非failtracepoint_synchronize_unregister()
1670  __free_filter(filter)
1671  删除链表项
1672  kfree(filter_item)
1674  返回:负ENOMEM
调用者
名称描述
create_system_filterreate_system_filter - create a filter for an event_subsystem*@system: event_subsystem to create a filter for*@filter_str: filter string*@filterp: out param for created filter (always updated on return)* Identical to create_filter() except that it creates