Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:security\apparmor\apparmorfs.c Create Date:2022-07-28 19:50:06
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__next_profile - step to the next profile in a profile tree*@profile: current profile in tree (NOT NULL)* Perform a depth first traversal on the profile tree in a namespace* Returns: next profile or NULL if done* Requires: profile->ns.lock to be held

Proto:static struct aa_profile *__next_profile(struct aa_profile *p)

Type:struct aa_profile

Parameter:

TypeParameterName
struct aa_profile *p
2160  ns = ns
2162  AA_BUG(!mutex_is_locked( & lock))
2165  If Not list_empty - tests whether a list is empty*@head: the list to test. Then Return list_first_entry - get the first element from a list*@ptr: the list head to take the element from.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.* Note, that list is expected to be not empty.( & profiles, typeof( * p), list)
2170  parent = cu_dereference_protected() - fetch RCU pointer when updates prevented*@p: The pointer to read, prior to dereferencing*@c: The conditions under which the dereference will take place* Return the value of the specified RCU-protected pointer, but omit(parent, mutex_is_locked( & lock))
2172  When parent cycle
2173  p = list_next_entry - get the next element in list*@pos: the type * to cursor*@member: the name of the list_head within the struct.(p, list)
2174  If Not list_entry_is_head(p, & profiles, list) Then Return p
2176  p = parent
2177  parent = cu_dereference_protected() - fetch RCU pointer when updates prevented*@p: The pointer to read, prior to dereferencing*@c: The conditions under which the dereference will take place* Return the value of the specified RCU-protected pointer, but omit(parent, mutex_is_locked( & lock))
2182  p = list_next_entry - get the next element in list*@pos: the type * to cursor*@member: the name of the list_head within the struct.(p, list)
2183  If Not list_entry_is_head(p, & profiles, list) Then Return p
2186  Return NULL
Caller
NameDescribe
next_profilext_profile - step to the next profile in where ever it may be*@root: root namespace (NOT NULL)*@profile: current profile (NOT NULL)* Returns: next profile or NULL if there isn't one