函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\verifier.c Create Date:2022-07-27 14:18:58
Last Modify:2022-05-19 20:02:10 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:bpf_adj_linfo_after_remove

函数原型:static int bpf_adj_linfo_after_remove(struct bpf_verifier_env *env, u32 off, u32 cnt)

返回类型:int

参数:

类型参数名称
struct bpf_verifier_env *env
u32off
u32cnt
8464  prog等于BPF program being verified
8468  nr_linfo等于nr_linfo
8469  如果非nr_linfo则返回:0
8472  linfo等于 bpf_line_info loaded from userspace. linfo->insn_off * has the xlated insn offset. * Both the main and sub prog share the same linfo. * The subprog can access its first linfo by * using the linfo_idx.
8475 i小于nr_linfo循环如果insn_off大于等于off
8477  退出
8479  l_off等于i
8480  l_cnt等于0
8481 i小于nr_linfo循环如果insn_off小于offcnt
8483  l_cnt自加
8484  否则退出
8491  如果 Number of filter blocks 不等于offl_cnti恒等于nr_linfoinsn_off不等于offcnt的值则
8493  l_cnt自减
8494  insn_off等于offcnt
8498  如果l_cnt
8499  memmove(linfo + l_off, linfo + i, linfo的长度 * (nr_linfo - i))
8502  nr_linfo减等于l_cnt
8503  nr_linfo等于nr_linfo
8507 i小于nr_linfo循环insn_off减等于cnt
8511 i小于等于subprog_cnt循环如果 The idx to the main_prog->aux->linfo 大于l_off
8516  如果 The idx to the main_prog->aux->linfo 大于等于l_offl_cnt The idx to the main_prog->aux->linfo 减等于l_cnt
8518  否则 The idx to the main_prog->aux->linfo 等于l_off
8522  返回:0
调用者
名称描述
verifier_remove_insns