| 函数逻辑报告 | 
| Source Code: kernel\bpf\syscall.c | Create Date:2022-07-27 14:04:47 | 
| Last Modify:2022-05-19 18:06:12 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:alled via syscall
函数原型:static int map_create(union bpf_attr *attr)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| union bpf_attr * | attr | 
| 648 | 如果numa_node不等于NUMA_NO_NODE且numa_node大于等于nr_node_ids或非NUMA节点状态(numa_node)的值则返回:负EINVAL | 
| 654 | map等于find_and_alloc_map(attr) | 
| 658 | err等于dst and src must have at least BPF_OBJ_NAME_LEN number of bytes.* Return 0 on success and < 0 on error. | 
| 662 | atomic64_set( & The 3rd and 4th cacheline with misc members to avoid false sharing * particularly with refcounting., 1) | 
| 663 | atomic64_set( & usercnt, 1) | 
| 664 | mutex_init - initialize the mutex*@mutex: the mutex to be initialized* Initialize the mutex to unlocked state.* It is not allowed to initialize an already locked mutex.( & freeze_mutex) | 
| 666 | 如果 BTF type_id of the key 或 BTF type_id of the value 则 | 
| 690 | 否则 | 
| 691 | >=0 valid offset, <0 error 等于负EINVAL | 
| 694 | err等于security_bpf_map_alloc(map) | 
| 698 | err等于bpf_map_alloc_id(map) | 
| 699 | 如果err则转到:free_map_sec | 
| 702 | err等于bpf_map_new_fd(map, f_flags) | 
| 703 | 如果err小于0则 | 
| 710 | bpf_map_put_with_uref(map) | 
| 711 | 返回:err | 
| 714 | 返回:err | 
| 716 | free_map_sec : | 
| 717 | security_bpf_map_free(map) | 
| 718 | free_map : | 
| 720 | bpf_map_charge_move( & mem, & memory) | 
| 722 | bpf_map_charge_finish( & mem) | 
| 723 | 返回:err | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |