linux audit 源码分析,Linux安全审计机制模块实现分析(13)-核心文件之一audit.c核心代码注释...

本文详细分析了Linux安全审计模块的核心文件audit.c的代码,包括审计缓冲区的创建、审计消息的格式化与发送,以及审计配置变化的处理。重点讲解了审计缓冲区的分配、审计消息限制及速率控制等关键功能。
摘要由CSDN通过智能技术生成

原标题:Linux安全审计机制模块实现分析(13)-核心文件之一audit.c核心代码注释

2.4.1.6核心代码注释

//创建一个审计缓冲区,存放类型为type的审计消息

struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask,int type)

{

struct audit_buffer*ab= NULL;

struct timespect;

unsigned intuninitialized_var(serial);

int reserve;

unsigned long timeout_start = jiffies;

if (audit_initialized != AUDIT_INITIALIZED) //审计系统未初始化

return NULL;

if (unlikely(audit_filter_type(type))) //要存放的审计消息是否type类型上某条规则不允许的?

return NULL;

if (gfp_mask & __GFP_WAIT)

reserve = 0;

else

reserve = 5; /* 允许调用存放超出消息数上限的5个消息*/

//套接字缓冲区队列中存放的消息数已达上限,并且预留的缓冲区也用完了

while (audit_backlog_limit && skb_queue_len(&audit_skb_queue) > audit_backlog_limit + reserve) {

if (gfp_mask &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值