函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\audit_tree.c Create Date:2022-07-27 12:33:44
Last Modify:2022-05-22 16:43:11 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:untag_chunk

函数原型:static void untag_chunk(struct audit_chunk *chunk, struct fsnotify_mark *mark)

返回类型:void

参数:

类型参数名称
struct audit_chunk *chunk
struct fsnotify_mark *mark
358  mutex_lock( & protect marks_list )
363  如果非 flags [mark->lock] 按位与FSNOTIFY_MARK_FLAG_ATTACHED的值或mark_chunk(mark)不等于chunk则转到:out_mutex
367  size等于chunk_count_trees(chunk)
368  如果非size
369  加自旋锁
370  删除链表项并重新初始化
371  删除不需要重新初始化的列表项
372  replace_mark_chunk(mark, NULL)
373  自旋锁解锁
374  Mark mark as detached, remove it from group list
375  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
376  Drop reference to the chunk that was held by the mark. This is the reference* that gets dropped after we've removed the chunk from the hash table and we* use it to make sure chunk cannot be freed before RCU grace period expires.
377  Free fsnotify mark
378  返回
381  new等于alloc_chunk(size)
382  如果非new则转到:out_mutex
385  加自旋锁
390  replace_chunk(new, chunk)
391  自旋锁解锁
392  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
393  Drop reference to the chunk that was held by the mark. This is the reference* that gets dropped after we've removed the chunk from the hash table and we* use it to make sure chunk cannot be freed before RCU grace period expires.
394  返回
396  out_mutex :
397  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
调用者
名称描述
prune_tree_chunksRemove tree from chunks. If 'tagged' is set, remove tree only from tagged* chunks. The function expects tagged chunks are all at the beginning of the* chunks list.