| 函数逻辑报告 | 
| 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 | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称: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 | 
| 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 | 
| 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 | 如果非fail则tracepoint_synchronize_unregister() | 
| 1670 | __free_filter(filter) | 
| 1671 | 删除链表项 | 
| 1672 | kfree(filter_item) | 
| 1674 | 返回:负ENOMEM | 
| 名称 | 描述 | 
|---|---|
| create_system_filter | reate_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 | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |