ACM: Test sharing as part of the authorization check.

Protected the policy from being changed while the hooks are being
called.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
This commit is contained in:
Keir Fraser committed 2007-11-20 15:13:29 +00:00
1 parent 9c17aa96e6
commit 8f52dbd472
2 files changed
+6 -1

No files matched your search

+1 -1
View File
@@ -325,7 +325,7 @@ static inline int acm_authorization(ssidref_t ssidref1, ssidref_t ssidref2)
acm_secondary_ops->authorization(ssidref1, ssidref2)) {
return ACM_ACCESS_DENIED;
} else
return ACM_ACCESS_PERMITTED;
return acm_sharing(ssidref1, ssidref2);
}
+5
View File
@@ -430,6 +430,9 @@ int
acm_get_decision(ssidref_t ssidref1, ssidref_t ssidref2, u32 hook)
{
int ret = ACM_ACCESS_DENIED;
read_lock(&acm_bin_pol_rwlock);
switch ( hook )
{
@@ -447,6 +450,8 @@ acm_get_decision(ssidref_t ssidref1, ssidref_t ssidref2, u32 hook)
break;
}
read_unlock(&acm_bin_pol_rwlock);
printkd("%s: ssid1=%x, ssid2=%x, decision=%s.\n",
__func__, ssidref1, ssidref2,
(ret == ACM_ACCESS_PERMITTED) ? "GRANTED" : "DENIED");
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.