projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TOMOYO: Simplify garbage collector.
[deliverable/linux.git]
/
security
/
tomoyo
/
domain.c
diff --git
a/security/tomoyo/domain.c
b/security/tomoyo/domain.c
index 70acf7aebbdaad0dd3cc46a2c6dbf8fc3458b41e..da16dfeed72800f26bd9bc12b8f68610f51706a1 100644
(file)
--- a/
security/tomoyo/domain.c
+++ b/
security/tomoyo/domain.c
@@
-39,6
+39,8
@@
int tomoyo_update_policy(struct tomoyo_acl_head *new_entry, const int size,
if (mutex_lock_interruptible(&tomoyo_policy_lock))
return -ENOMEM;
list_for_each_entry_rcu(entry, list, list) {
if (mutex_lock_interruptible(&tomoyo_policy_lock))
return -ENOMEM;
list_for_each_entry_rcu(entry, list, list) {
+ if (entry->is_deleted == TOMOYO_GC_IN_PROGRESS)
+ continue;
if (!check_duplicate(entry, new_entry))
continue;
entry->is_deleted = param->is_delete;
if (!check_duplicate(entry, new_entry))
continue;
entry->is_deleted = param->is_delete;
@@
-115,6
+117,8
@@
int tomoyo_update_domain(struct tomoyo_acl_info *new_entry, const int size,
if (mutex_lock_interruptible(&tomoyo_policy_lock))
goto out;
list_for_each_entry_rcu(entry, list, list) {
if (mutex_lock_interruptible(&tomoyo_policy_lock))
goto out;
list_for_each_entry_rcu(entry, list, list) {
+ if (entry->is_deleted == TOMOYO_GC_IN_PROGRESS)
+ continue;
if (!tomoyo_same_acl_head(entry, new_entry) ||
!check_duplicate(entry, new_entry))
continue;
if (!tomoyo_same_acl_head(entry, new_entry) ||
!check_duplicate(entry, new_entry))
continue;
This page took
0.024987 seconds
and
5
git commands to generate.