aboutsummaryrefslogtreecommitdiffstats
path: root/security/tomoyo/domain.c
diff options
context:
space:
mode:
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>2010-04-28 01:17:42 -0400
committerJames Morris <jmorris@namei.org>2010-05-05 10:50:43 -0400
commit4e5d6f7ec3833c0da9cf34fa5c53c6058c5908b6 (patch)
tree5c0db5bfcdcb1b07594f20054cc6eefe05161c9a /security/tomoyo/domain.c
parenta674fa46c79ffa37995bd1c8e4daa2b3be5a95ae (diff)
TOMOYO: Use GFP_NOFS rather than GFP_KERNEL.
In Ubuntu, security_path_*() hooks are exported to Unionfs. Thus, prepare for being called from inside VFS functions because I'm not sure whether it is safe to use GFP_KERNEL or not. Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/tomoyo/domain.c')
-rw-r--r--security/tomoyo/domain.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/security/tomoyo/domain.c b/security/tomoyo/domain.c
index 66caaa1b842a..ed5141883242 100644
--- a/security/tomoyo/domain.c
+++ b/security/tomoyo/domain.c
@@ -152,7 +152,7 @@ static int tomoyo_update_domain_initializer_entry(const char *domainname,
152 if (!saved_program) 152 if (!saved_program)
153 goto out; 153 goto out;
154 if (!is_delete) 154 if (!is_delete)
155 entry = kmalloc(sizeof(*entry), GFP_KERNEL); 155 entry = kmalloc(sizeof(*entry), GFP_NOFS);
156 mutex_lock(&tomoyo_policy_lock); 156 mutex_lock(&tomoyo_policy_lock);
157 list_for_each_entry_rcu(ptr, &tomoyo_domain_initializer_list, list) { 157 list_for_each_entry_rcu(ptr, &tomoyo_domain_initializer_list, list) {
158 if (ptr->is_not != is_not || 158 if (ptr->is_not != is_not ||
@@ -372,7 +372,7 @@ static int tomoyo_update_domain_keeper_entry(const char *domainname,
372 if (!saved_domainname) 372 if (!saved_domainname)
373 goto out; 373 goto out;
374 if (!is_delete) 374 if (!is_delete)
375 entry = kmalloc(sizeof(*entry), GFP_KERNEL); 375 entry = kmalloc(sizeof(*entry), GFP_NOFS);
376 mutex_lock(&tomoyo_policy_lock); 376 mutex_lock(&tomoyo_policy_lock);
377 list_for_each_entry_rcu(ptr, &tomoyo_domain_keeper_list, list) { 377 list_for_each_entry_rcu(ptr, &tomoyo_domain_keeper_list, list) {
378 if (ptr->is_not != is_not || 378 if (ptr->is_not != is_not ||
@@ -564,7 +564,7 @@ static int tomoyo_update_alias_entry(const char *original_name,
564 if (!saved_original_name || !saved_aliased_name) 564 if (!saved_original_name || !saved_aliased_name)
565 goto out; 565 goto out;
566 if (!is_delete) 566 if (!is_delete)
567 entry = kmalloc(sizeof(*entry), GFP_KERNEL); 567 entry = kmalloc(sizeof(*entry), GFP_NOFS);
568 mutex_lock(&tomoyo_policy_lock); 568 mutex_lock(&tomoyo_policy_lock);
569 list_for_each_entry_rcu(ptr, &tomoyo_alias_list, list) { 569 list_for_each_entry_rcu(ptr, &tomoyo_alias_list, list) {
570 if (ptr->original_name != saved_original_name || 570 if (ptr->original_name != saved_original_name ||
@@ -664,7 +664,7 @@ struct tomoyo_domain_info *tomoyo_find_or_assign_new_domain(const char *
664 saved_domainname = tomoyo_get_name(domainname); 664 saved_domainname = tomoyo_get_name(domainname);
665 if (!saved_domainname) 665 if (!saved_domainname)
666 return NULL; 666 return NULL;
667 entry = kzalloc(sizeof(*entry), GFP_KERNEL); 667 entry = kzalloc(sizeof(*entry), GFP_NOFS);
668 mutex_lock(&tomoyo_policy_lock); 668 mutex_lock(&tomoyo_policy_lock);
669 list_for_each_entry_rcu(domain, &tomoyo_domain_list, list) { 669 list_for_each_entry_rcu(domain, &tomoyo_domain_list, list) {
670 if (domain->is_deleted || 670 if (domain->is_deleted ||
@@ -704,7 +704,7 @@ int tomoyo_find_next_domain(struct linux_binprm *bprm)
704 * This function assumes that the size of buffer returned by 704 * This function assumes that the size of buffer returned by
705 * tomoyo_realpath() = TOMOYO_MAX_PATHNAME_LEN. 705 * tomoyo_realpath() = TOMOYO_MAX_PATHNAME_LEN.
706 */ 706 */
707 struct tomoyo_page_buffer *tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); 707 struct tomoyo_page_buffer *tmp = kzalloc(sizeof(*tmp), GFP_NOFS);
708 struct tomoyo_domain_info *old_domain = tomoyo_domain(); 708 struct tomoyo_domain_info *old_domain = tomoyo_domain();
709 struct tomoyo_domain_info *domain = NULL; 709 struct tomoyo_domain_info *domain = NULL;
710 const char *old_domain_name = old_domain->domainname->name; 710 const char *old_domain_name = old_domain->domainname->name;