Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:label_components_match - find perms for all subcomponents of a label*@profile: profile to find perms for*@label: label to check access permissions for*@start: state to start match in*@subns: whether to do permission checks on components in a

Proto:static int label_components_match(struct aa_profile *profile, struct aa_label *label, unsigned int start, bool subns, unsigned int request, struct aa_perms *perms)

Type:int

Parameter:

TypeParameterName
struct aa_profile *profile
struct aa_label *label
unsigned intstart
boolsubns
unsigned intrequest
struct aa_perms *perms
1339  state = 0
1343  If Not aa_ns_visible - test if @view is visible from @curr*@curr: namespace to treat as the parent (NOT NULL)*@view: namespace to test if visible from @curr (NOT NULL)*@subns: whether view of a subns is allowed* Returns: true if @view is visible from @curr else Then Continue
1345  state = match a profile and its associated ns component if needed* Assumes visibility test has already been done.* If a subns profile is not to be matched should be prescreened with* visibility test.
1346  If Not state Then Go to fail
1348  Go to next
1352  Return 0
1354  :
1355  aa_compute_perms(Generic policy DFA specific rule types will be subsections of it , state, & tmp)
1356  aa_apply_modes_to_perms - apply namespace and profile flags to perms*@profile: that perms where computed from*@perms: perms to apply mode modifiers to* TODO: split into profile and ns based flags for when accumulating perms
1357  aa_perms_accum - accumulate perms, masking off overlapping perms*@accum - perms struct to accumulate into*@addend - perms struct to add to @accum
1359  If Not aa_ns_visible - test if @view is visible from @curr*@curr: namespace to treat as the parent (NOT NULL)*@view: namespace to test if visible from @curr (NOT NULL)*@subns: whether view of a subns is allowed* Returns: true if @view is visible from @curr else Then Continue
1361  state = match a profile and its associated ns component if needed* Assumes visibility test has already been done.* If a subns profile is not to be matched should be prescreened with* visibility test.
1362  If Not state Then Go to fail
1364  aa_compute_perms(Generic policy DFA specific rule types will be subsections of it , state, & tmp)
1365  aa_apply_modes_to_perms - apply namespace and profile flags to perms*@profile: that perms where computed from*@perms: perms to apply mode modifiers to* TODO: split into profile and ns based flags for when accumulating perms
1366  aa_perms_accum - accumulate perms, masking off overlapping perms*@accum - perms struct to accumulate into*@addend - perms struct to add to @accum
1369  If (allow & request) != request Then Return -EACCES
1372  Return 0
1374  fail :
1375  perms = nullperms
1376  Return -EACCES
Caller
NameDescribe
aa_label_matchaa_label_match - do a multi-component label match*@profile: profile to match against (NOT NULL)*@label: label to match (NOT NULL)*@state: state to start in*@subns: whether to match subns components*@request: permission request*@perms: Returns computed
label_matchlabel_match - do a multi-component label match*@profile: profile to match against (NOT NULL)*@label: label to match (NOT NULL)*@stack: whether this is a stacking request*@state: state to start in*@subns: whether to match subns components*@request: