函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |