函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:aa_label_alloc - allocate a label with a profile vector of @size length*@size: size of profile vector in the label*@proxy: proxy to use OR null if to allocate a new one*@gfp: memory allocation type* Returns: new label* else NULL if failed

函数原型:struct aa_label *aa_label_alloc(int size, struct aa_proxy *proxy, gfp_t gfp)

返回类型:struct aa_label

参数:

类型参数名称
intsize
struct aa_proxy *proxy
gfp_tgfp
430  AA_BUG(size < 1)
433  new等于分配内存并置零
435  AA_DEBUG("%s (%p)\n", __func__, new)
436  如果非new则转到:fail
439  如果非aa_label_init(new, size, gfp)则转到:fail
442  如果非proxy
443  proxy等于aa_alloc_proxy(new, gfp)
444  如果非proxy则转到:fail
446  否则aa_get_proxy(proxy)
449  proxy等于proxy
451  返回:new
453  fail :
454  释放内存
456  返回:NULL
调用者
名称描述
vec_create_and_insert_labelquires sort and merge done first
aa_label_mergeaa_label_merge - attempt to insert new merged label of @a and @b*@ls: set of labels to insert label into (NOT NULL)*@a: label to merge with @b (NOT NULL)*@b: label to merge with @a (NOT NULL)*@gfp: memory allocation type* Requires: caller to hold valid
__label_update__label_update - insert updated version of @label into labelset*@label - the label to update/replace* Returns: new label that is up to date* else NULL on failure* Requires: @ns lock be held* Note: worst case is the stale @label does not get updated and has