函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\auditsc.c Create Date:2022-07-27 12:30:36
Last Modify:2020-03-17 16:31:21 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:audit_log_execve_info

函数原型:static void audit_log_execve_info(struct audit_context *context, struct audit_buffer **ab)

返回类型:void

参数:

类型参数名称
struct audit_context *context
struct audit_buffer **ab
994  len_abuf等于0
1002  __userp等于arg_start
1013  WARN_ON_ONCE( execve audit message should be longer than this (userspace limits),* see the note near the top of audit_log_execve_info() about this value > 7500)
1014  len_max等于 execve audit message should be longer than this (userspace limits),* see the note near the top of audit_log_execve_info() about this value
1017  buf_head等于开辟内存
1018  如果非buf_head
1019  audit_panic("out of memory for argv string")
1020  返回
1022  buf等于buf_head
1024  写入审计信息
1026  len_rem等于len_max
1027  len_buf等于0
1028  len_full等于0
1029  require_data = true
1030  encode = false
1031  iter等于0
1032  arg等于0
1033  循环
1041  如果len_full恒等于0则len_full等于用户字符串长度减1
1045  如果require_data
1047  如果buf不等于buf_head
1049  buf等于buf_head
1055  如果len_tmp恒等于负EFAULT
1058  转到:out
1059  否则如果len_tmp恒等于len_maxlen_buf
1061  require_data = true
1066  encode = true
1067  len_full等于len_full乘2
1068  p加等于len_tmp
1069  否则
1080  len_buf加等于len_tmp
1081  buf_head[len_buf]等于'\0'
1084  len_abuf等于如果encodelen_buf乘2否则len_buf加2
1088  如果len_buf大于等于0则
1093  如果abuf的长度加8大于len_rem
1094  len_rem等于len_max
1098  如果非ab则转到:out
1103  len_tmp等于0
1104  如果require_dataiter大于0或len_abufabuf的长度大于len_rem
1119  WARN_ON(len_tmp >= abuf的长度)
1120  abuf[abuf的长度 - 1]等于'\0'
1124  len_rem减等于len_tmp
1125  len_tmp等于len_buf
1126  如果encode
1132  否则
1141  len_buf减等于len_tmp
1142  buf加等于len_tmp
1146  如果len_buf恒等于0且非require_data
1147  arg自加
1148  iter等于0
1149  len_full等于0
1150  require_data = true
1151  encode = false
1153 arg小于argc循环
1157  out :
1158  kfree(buf_head)
调用者
名称描述
show_special