函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:security\apparmor\match.c Create Date:2022-07-27 21:28:37
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:verify_dfa - verify that transitions and states in the tables are in bounds

函数原型:static int verify_dfa(struct aa_dfa *dfa)

返回类型:int

参数:

类型参数名称
struct aa_dfa *dfa
197  error等于负EPROTO
199  state_count等于td_lolen
200  trans_count等于td_lolen
201 i小于state_count循环
202  如果非BASE_TABLE(dfa)[i]按位与MATCH_FLAG_DIFF_ENCODE的值且DEFAULT_TABLE(dfa)[i]大于等于state_count则转到:out
205  如果base_idx(BASE_TABLE(dfa)[i])加255大于等于trans_count
206  打印错误信息("AppArmor DFA next/check upper bounds error\n")
207  转到:out
211 i小于trans_count循环
212  如果NEXT_TABLE(dfa)[i]大于等于state_count则转到:out
214  如果CHECK_TABLE(dfa)[i]大于等于state_count则转到:out
219 i小于state_count循环
222 BASE_TABLE(dfa)[j]按位与MATCH_FLAG_DIFF_ENCODE且非BASE_TABLE(dfa)[j]按位与MARK_DIFF_ENCODE的值循环
226  k等于DEFAULT_TABLE(dfa)[j]
227  如果j恒等于k则转到:out
229  如果k小于j退出
231  BASE_TABLE(dfa)[j]或等于MARK_DIFF_ENCODE
234  error等于0
236  out :
237  返回:error
调用者
名称描述
aa_dfa_unpackaa_dfa_unpack - unpack the binary tables of a serialized dfa*@blob: aligned serialized stream of data to unpack (NOT NULL)*@size: size of data to unpack*@flags: flags controlling what type of accept tables are acceptable