mirror of https://github.com/torvalds/linux.git
apparmor: switch signal mediation to use RULE_MEDIATES
Currently signal mediation is using a hard coded form of the RULE_MEDIATES check. This hides the intended semantics, and means this specific check won't pickup any changes or improvements made in the RULE_MEDIATES check. Switch to using RULE_MEDIATES(). Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
parent
46b9b994dd
commit
0bc8c6862f
|
|
@ -85,16 +85,16 @@ static int profile_signal_perm(const struct cred *cred,
|
|||
struct aa_perms perms;
|
||||
aa_state_t state;
|
||||
|
||||
if (profile_unconfined(profile) ||
|
||||
!ANY_RULE_MEDIATES(&profile->rules, AA_CLASS_SIGNAL))
|
||||
if (profile_unconfined(profile))
|
||||
return 0;
|
||||
|
||||
ad->subj_cred = cred;
|
||||
ad->peer = peer;
|
||||
/* TODO: secondary cache check <profile, profile, perm> */
|
||||
state = aa_dfa_next(rules->policy->dfa,
|
||||
rules->policy->start[AA_CLASS_SIGNAL],
|
||||
ad->signal);
|
||||
state = RULE_MEDIATES(rules, AA_CLASS_SIGNAL);
|
||||
if (!state)
|
||||
return 0;
|
||||
state = aa_dfa_next(rules->policy->dfa, state, ad->signal);
|
||||
aa_label_match(profile, rules, peer, state, false, request, &perms);
|
||||
aa_apply_modes_to_perms(profile, &perms);
|
||||
return aa_check_perms(profile, &perms, request, ad, audit_signal_cb);
|
||||
|
|
|
|||
Loading…
Reference in New Issue