函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\offload.c Create Date:2022-07-27 14:43:44
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:bpf_map_offload_map_alloc

函数原型:struct bpf_map *bpf_map_offload_map_alloc(union bpf_attr *attr)

返回类型:struct bpf_map

参数:

类型参数名称
union bpf_attr *attr
364  net等于net_ns
369  如果非操作权限检查则返回:错误号
371  如果 one of enum bpf_map_type 不等于BPF_MAP_TYPE_ARRAY one of enum bpf_map_type 不等于BPF_MAP_TYPE_HASH则返回:错误号
375  offmap等于分配内存并置零
376  如果非offmap则返回:错误号
379  bpf_map_init_from_attr( & map, attr)
381  RTNL is used as a global lock for all changes to network configuration
382  lock for writing
383  netdev等于通过接口索引号找设备
384  err等于bpf_dev_offload_check(netdev)
385  如果err则转到:err_unlock
388  ondev等于bpf_offload_find_netdev(netdev)
389  如果非ondev
390  err等于负EINVAL
391  转到:err_unlock
394  err等于bpf_map_offload_ndo(offmap, BPF_OFFLOAD_MAP_ALLOC)
395  如果err则转到:err_unlock
398  添加链表项
399  lease a write lock
400  rtnl_unlock()
402  返回:map
404  err_unlock :
405  lease a write lock
406  rtnl_unlock()
407  kfree(offmap)
408  返回:错误号