函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:bpf_prog_offload_init

函数原型:int bpf_prog_offload_init(struct bpf_prog *prog, union bpf_attr *attr)

返回类型:int

参数:

类型参数名称
struct bpf_prog *prog
union bpf_attr *attr
86  如果 one of enum bpf_prog_type 不等于BPF_PROG_TYPE_SCHED_CLS one of enum bpf_prog_type 不等于BPF_PROG_TYPE_XDP则返回:负EINVAL
90  如果prog_flags则返回:负EINVAL
93  offload等于分配内存并置零
94  如果非offload则返回:负ENOMEM
97  prog等于prog
99  netdev等于通过接口索引号找设备
101  err等于bpf_dev_offload_check(netdev)
102  如果err则转到:err_maybe_put
105  lock for writing
106  ondev等于bpf_offload_find_netdev(netdev)
107  如果非ondev
108  err等于负EINVAL
109  转到:err_unlock
111  offdev等于offdev
112  offload等于offload
113  添加链表项
114  发布参考设备
115  lease a write lock
117  返回:0
118  err_unlock :
119  lease a write lock
120  err_maybe_put :
121  如果netdev发布参考设备
123  kfree(offload)
124  返回:err
调用者
名称描述
bpf_prog_load