SELinux: seperate avc_cache flushing
Move the avc_cache flushing into it's own function so it can be reused when disabling SELinux. Signed-off-by: Eric Paris <eparis@redhat.com> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
Родитель
ed868a5698
Коммит
008574b111
|
@ -709,18 +709,16 @@ out:
|
|||
}
|
||||
|
||||
/**
|
||||
* avc_ss_reset - Flush the cache and revalidate migrated permissions.
|
||||
* @seqno: policy sequence number
|
||||
* avc_flush - Flush the cache
|
||||
*/
|
||||
int avc_ss_reset(u32 seqno)
|
||||
static void avc_flush(void)
|
||||
{
|
||||
struct avc_callback_node *c;
|
||||
int i, rc = 0, tmprc;
|
||||
unsigned long flag;
|
||||
struct avc_node *node;
|
||||
struct hlist_head *head;
|
||||
struct hlist_node *next;
|
||||
struct avc_node *node;
|
||||
spinlock_t *lock;
|
||||
unsigned long flag;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < AVC_CACHE_SLOTS; i++) {
|
||||
head = &avc_cache.slots[i];
|
||||
|
@ -737,6 +735,18 @@ int avc_ss_reset(u32 seqno)
|
|||
rcu_read_unlock();
|
||||
spin_unlock_irqrestore(lock, flag);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* avc_ss_reset - Flush the cache and revalidate migrated permissions.
|
||||
* @seqno: policy sequence number
|
||||
*/
|
||||
int avc_ss_reset(u32 seqno)
|
||||
{
|
||||
struct avc_callback_node *c;
|
||||
int rc = 0, tmprc;
|
||||
|
||||
avc_flush();
|
||||
|
||||
for (c = avc_callbacks; c; c = c->next) {
|
||||
if (c->events & AVC_CALLBACK_RESET) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче