aboutsummaryrefslogtreecommitdiffstats
path: root/security/tomoyo
diff options
context:
space:
mode:
authorSerge E. Hallyn <serue@us.ibm.com>2009-06-01 23:47:19 -0400
committerJames Morris <jmorris@namei.org>2009-06-02 01:13:13 -0400
commitfbeb4a9c20d00e2550156f9e5a34473fbde59de2 (patch)
treed08881a9eb2d768722363d7022d2ae4da81494d9 /security/tomoyo
parent13b297d943828c4594527a2bd9c30ecd04e37886 (diff)
tomoyo: avoid get+put of task_struct
Use task_cred_xxx(task, security) in tomoyo_real_domain() to avoid a get+put of the target cred. Signed-off-by: Serge E. Hallyn <serue@us.ibm.com> Acked-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/tomoyo')
-rw-r--r--security/tomoyo/tomoyo.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/security/tomoyo/tomoyo.h b/security/tomoyo/tomoyo.h
index 41c6ebafb9c5..f12d5ada7dcb 100644
--- a/security/tomoyo/tomoyo.h
+++ b/security/tomoyo/tomoyo.h
@@ -90,17 +90,10 @@ static inline struct tomoyo_domain_info *tomoyo_domain(void)
90 return current_cred()->security; 90 return current_cred()->security;
91} 91}
92 92
93/* Caller holds tasklist_lock spinlock. */
94static inline struct tomoyo_domain_info *tomoyo_real_domain(struct task_struct 93static inline struct tomoyo_domain_info *tomoyo_real_domain(struct task_struct
95 *task) 94 *task)
96{ 95{
97 /***** CRITICAL SECTION START *****/ 96 return task_cred_xxx(task, security);
98 const struct cred *cred = get_task_cred(task);
99 struct tomoyo_domain_info *domain = cred->security;
100
101 put_cred(cred);
102 return domain;
103 /***** CRITICAL SECTION END *****/
104} 97}
105 98
106#endif /* !defined(_SECURITY_TOMOYO_TOMOYO_H) */ 99#endif /* !defined(_SECURITY_TOMOYO_TOMOYO_H) */